in pratica ho bisogno di ottenere una costante per una classe, ma non ho alcuna istanza dell'oggetto ma solo la sua classe. In PHP vorrei fare constant(XYZ);
C'è un modo simile di recuperare una costante in JAVA?come ottenere una costante in java con classe
ho bisogno di facilitare una chiamata getMethod dinamica
Class parameterType = Class.forName(class_name);
object.setProperty(field name, field value, parameterType);
il metodo di proprietà set sarebbe quindi ottenere il metodo corretto e impostare la proprietà specificata, tuttavia non posso ottenere un metodo che ha int come tipo di parametro senza usare Interger.TYPE
Nota che l'argomento 'String.class' passato al campo # get (Object)' 'metodo è discutibile per i campi statici - per javadoc: > Se il campo sottostante è un campo statico, l'argomento obj viene ignorato; potrebbe essere nullo. Quindi l'argomento non implica che il valore del campo sarà una stringa e potrebbe essere nullo. – superEb
Poiché è un campo 'static',' Foo.class.getDeclaredField ("MY_CONST"). Get (null); 'è il modo corretto per ottenere il suo valore. (L'argomento 'String.class' nella risposta è ignorato e in realtà fuorviante.) – acdcjunior
Cosa succede se non sai cos'è Foo? Penso che Class.forName ("Foo") sarebbe più ideale. –