im Grunde muss ich eine Konstante für eine Klasse zu bekommen, aber ich habe keine Instanz des Objekts, sondern nur seine Klasse. In PHP würde ich tun constant(XYZ);
Gibt es eine ähnliche Möglichkeit zum Abrufen einer Konstante in JAVA?Wie bekomme ich eine Konstante in Java mit Klasse
Ich brauche es einen dynamischen getMethod Aufruf zu erleichtern
Class parameterType = Class.forName(class_name);
object.setProperty(field name, field value, parameterType);
die eingestellte Eigenschaft Methode dann die richtige Methode bekommen würde und die angegebene Eigenschaft gesetzt ist, aber ich kann nicht ein Verfahren erhalten, das int als Parameter-Typ hat, ohne Interger.TYPE
Beachten Sie, dass die 'String.class' Argument der' Feld # get übergeben (Object) 'Methode für statische Felder strittig ist - pro javadoc: > Wenn das zugrunde liegende Feld ein statisches Feld ist, wird das Argument obj ignoriert. Es kann null sein. Das Argument bedeutet also nicht, dass der Feldwert ein String ist und null sein könnte. – superEb
Da es sich um ein 'statisches' Feld handelt, ist' Foo.class.getDeclaredField ("MY_CONST"). Get (null); 'der richtige Weg, um seinen Wert zu erhalten. (Das Argument 'String.class' in der Antwort wird ignoriert und ist tatsächlich irreführend.) – acdcjunior
Was, wenn Sie nicht wissen, was Foo ist? Ich denke Class.forName ("Foo") wäre idealer. –