GOOGLE ADS

Mittwoch, 13. April 2022

Gibt den Typ einer Java-Variablen aus

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.CatAnimal

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

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...