Ist es in Java möglich, den Typ einer Variablen zu drucken?
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.
}
Ein Ansatz für dieses Problem wäre die Verwendung einer if-Anweisung für jeden Variablentyp, aber das scheint überflüssig zu sein, also frage ich mich, ob es einen besseren Weg gibt, dies zu tun:
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?).
Lösung des Problems
Basierend auf Ihrem Beispiel sieht es so aus, als ob Sie den Werttyp erhalten möchten, der von der Variablen gehalten wird, nicht den deklarierten Variablentyp. Ich gehe also davon aus, dass Sie es nicht Animal animal = new Cat();
bekommen möchten.Cat
Animal
Nur Namen ohne Paketteil verwenden
String name = theVariable.getClass().getSimpleName(); //to get Cat
ansonsten
String name = theVariable.getClass().getName(); //to get full.package.name.of.Cat
Keine Kommentare:
Kommentar veröffentlichen