Java hat eine großartige Online-Dokumentation. Die Seite, die andyb unten verlinkt hat, ist ein Beispiel. Jedes Mal, wenn Sie Fragen zur genauen Funktionalität einer Klasse oder eines Pakets haben, sind die Javadocs so leicht zu finden wie das Googeln von "Java 6 <Paket oder Klasse in Frage>".
String.class.getSimpleName () -> String, wobei als String.class.getName () -> java.lang.String
Peter Dietz
Vielen Dank, @andyb getSimpleName()ist einfacher, auf den Klassennamen abzüglich des Paketnamens zuzugreifen. Syntax: object.getClass().getSimpleName()Beispielcode
Abhijeet
So weisen Sie es einer statischen Zeichenfolgenvariablen zu. Es zeigt einen Fehler in Android Studio.
MohanRaj S
Funktioniert nicht für innere Klassen: Dadurch wird der Name der einschließenden Klasse entfernt, nicht nur das Paket.
Werkzeugschmiede
9
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());
Dies hat mir geholfen, da ich getSimpleName () nicht aus meinem Framework verwenden kann ... Tq
Imposter
1
Der programmatische Ansatz liefert auch vernünftige Ergebnisse für anonyme Klassen.
Hollis Waite
@Imposter Sie verwenden etwas früher als Java 1.5?
Stealth Rabbi
Sie müssen den Fall behandeln, in dem keine .gefunden wird.
eckes
@eckes Wenn der Punkt nicht gefunden wird, ist das Ergebnis -1. Wenn Sie 1 hinzufügen, erhalten Sie eine Teilzeichenfolge ab Index 0 - genau das, was Sie in diesem Fall benötigen. (Ich habe das gerade mit getestet int[], das Ergebnis ist "[I".)
Toolforger
4
Sie können die folgende einfache Technik zum Drucken von Protokollen mit Klassennamen verwenden.
privateString 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:
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, "[]".
Antworten:
Class.getSimpleName()
quelle
getSimpleName()
ist einfacher, auf den Klassennamen abzüglich des Paketnamens zuzugreifen. Syntax:object.getClass().getSimpleName()
BeispielcodeDie folgenden beiden Möglichkeiten funktionieren einwandfrei.
Ausgabe wie folgt:
quelle
oder programmatisch
quelle
.
gefunden wird.int[]
, das Ergebnis ist"[I"
.)Sie können die folgende einfache Technik zum Drucken von Protokollen mit Klassennamen verwenden.
Angenommen, wir müssen den Wert der kommenden Variablen in der Methode überprüfen, dann können wir log wie unten verwenden:
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
quelle
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, "[]".
quelle
Hier ist die Groovy-Methode für den Zugriff auf Objekteigenschaften:
quelle
Holen Sie sich einen einfachen Namen anstelle eines Pfades.
Rufen Sie die obige Methode in onCreate auf
quelle