fondamentalement j'ai besoin d'obtenir une constante pour une classe mais je n'ai aucune instance de l'objet mais seulement sa classe. En PHP, je ferais constant(XYZ);
Existe-t-il un moyen similaire de récupérer une constante dans JAVA?comment obtenir une constante dans Java avec la classe
J'ai besoin pour faciliter un appel getMethod dynamique
Class parameterType = Class.forName(class_name);
object.setProperty(field name, field value, parameterType);
la méthode de propriété ensemble alors obtenir la bonne méthode et définir la propriété spécifiée, mais je ne peux pas obtenir une méthode qui a int comme type de paramètre sans utiliser Interger.TYPE
Notez que l'argument 'String.class' transmis à la méthode champ' # get (Object) 'est sans objet pour les champs statiques - par la javadoc: > Si le champ sous-jacent est un champ statique, l'argument obj est ignoré; ça peut être nul. Donc l'argument n'implique pas que la valeur du champ sera une chaîne et pourrait être nulle. – superEb
Comme c'est un champ 'static',' Foo.class.getDeclaredField ("MY_CONST"). Get (null); 'est la bonne façon d'obtenir sa valeur. (L'argument 'String.class' dans la réponse est ignoré et trompeur.) – acdcjunior
Et si vous ne savez pas ce qu'est Foo? Je pense que Class.forName ("Foo") serait plus idéal. –