Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [JAVA] reflection

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    254

    [JAVA] reflection

    Salve,
    ho un problema con la reflection di java. Il mio codice:

    Class cls = entities.get(i).getClass();
    Class[] parametertype = new Class[] {String.class};

    Method m;
    try {
    m = cls.getMethod("setNome", parametertype);

    Object res = m.invoke(cls, sorgenteNome);


    } catch (NoSuchMethodException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SecurityException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IllegalAccessException | IllegalArgumentException
    | InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    Entities, contiene oggetti istanziati e valorizzati.
    Il problema è che mi si verifica l'eccezione :

    IllegalArgumentException: object is not an instance of declaring class

    non riesco a capire dove sia l'errore, visto che il metodo che chiamo è corretto e la sua firma
    è un parametro solo ed è una stringa.

    Qualcuno mi può dare una indicazione?
    Grazie
    Alan.

  2. #2
    Utente di HTML.it L'avatar di progAnd
    Registrato dal
    Jan 2012
    Messaggi
    119
    Serve l'intera traccia dell'errore. Cos'è sorgenteNome?

    Ciao

  3. #3
    Ciao, il problema è in questa riga di codice
    codice:
    Object res = m.invoke(cls, sorgenteNome);
    in quanto il metodo prevede come primo parametro l'oggetto su cui devi
    invocare il metodo e non la classe in cui esso è dichiarato.
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.