Wie kann ich den Namen der Klasse bekommen
String.class.getName() returns java.lang.String
Ich bin nur daran interessiert, den letzten Teil zu bekommen, dh nur String.
Kann eine API das?
Wie kann ich den Namen der Klasse bekommen
String.class.getName() returns java.lang.String
Ich bin nur daran interessiert, den letzten Teil zu bekommen, dh nur String.
Kann eine API das?
Antworten:
getSimpleName()ist einfacher, auf den Klassennamen abzüglich des Paketnamens zuzugreifen. Syntax: object.getClass().getSimpleName() Beispielcode
Die folgenden beiden Möglichkeiten funktionieren einwandfrei.
System.out.println("The Class Name is: " + this.getClass().getName());
System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
Ausgabe wie folgt:
Der Klassenname lautet: package.Student
Der einfache Klassenname lautet: Student
oder programmatisch
String s = String.class.getName();
s = s.substring(s.lastIndexOf('.') + 1);
.gefunden wird.
int[], das Ergebnis ist "[I".)
Sie können die folgende einfache Technik zum Drucken von Protokollen mit Klassennamen verwenden.
private String TAG = MainActivity.class.getSimpleName();
Angenommen, wir müssen den Wert der kommenden Variablen in der Methode überprüfen, dann können wir log wie unten verwenden:
private void printVariable(){
Log.e(TAG, "printVariable: ");
}
Die Bedeutung dieser Zeile ist, dass wir den Methodennamen zusammen mit dem Klassennamen überprüfen können. So schreiben Sie diese Art von Protokoll.
schreibe: - loge und Enter.
wird auf der Konsole gedruckt
E/MainActivity: printVariable:
Social.class.getSimpleName ()
getSimpleName (): Gibt den einfachen Namen der zugrunde liegenden Klasse zurück, wie im Quellcode angegeben. Gibt eine leere Zeichenfolge zurück, wenn die zugrunde liegende Klasse anonym ist. Der einfache Name eines Arrays ist der einfache Name des Komponententyps, an den "[]" angehängt ist. Insbesondere lautet der einfache Name eines Arrays, dessen Komponententyp anonym ist, "[]".