Imprimer le type d'une variable Java
En Java, est-il possible d'imprimer le type d'une variable?
public static void printVariableType(Object theVariable){
//print the type of the variable that is passed as a parameter
//for example, if the variable is a string, print "String" to the console.
}
Une solution à ce problème serait d'utiliser un if pour chaque type de variable, mais qui semble redondant, alors je me demandais si il y a une meilleure manière de faire ceci:
if(theVariable instanceof String){
System.out.println("String");
}
if(theVariable instanceof Integer){
System.out.println("Integer");
}
//this seems redundant and verbose. Is there a more efficient solution (e. g., using reflection?).
- Cette question a un air faussement titre similaire à celui-ci, mais semble être la plupart du temps inutiles: stackoverflow.com/questions/6614066/...
Vous devez vous connecter pour publier un commentaire.
Basé sur votre exemple, il semble que vous souhaitez pour obtenir le type de valeur détenus par variable non déclarée de type de variable. Je suis donc en supposant que dans le cas de
Animal animal = new Cat("Tom");
vous souhaitez obtenirCat
pasAnimal
.Pour obtenir uniquement le nom sans forfait utilisent les
sinon
Lire la javadoc.
Vous pouvez utiliser le
".getClass()"
méthode.Objet#getClass()
Vous pouvez le lire dans la classe, et obtenir ensuite un nom.