Heim  >  Artikel  >  Java  >  Wie dekodiere ich die Klassentypkodierung „[Ljava.lang.Object;' von Java?

Wie dekodiere ich die Klassentypkodierung „[Ljava.lang.Object;' von Java?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-19 17:42:03920Durchsuche

How Do I Decode Java's

Klassentypinformationen in Java dekodieren

Oft stoßen wir auf Zeichenfolgen wie „[Ljava.lang.Object;““ beim Arbeiten mit Klassentypen in Java. Um den tatsächlichen Typ eines Objekts zu identifizieren, ist es wichtig zu verstehen, wie diese Kodierung dekodiert wird.

Diese Kodierung folgt einem bestimmten Benennungsschema, das in Class.getName() dokumentiert ist. Wenn ein Klassenobjekt einen Array-Typ darstellt, besteht sein Name aus dem Namen seines Elementtyps, dem eckige Klammern „[“ vorangestellt sind. Beispiel: „[Ljava.lang.Object;“ stellt Object[] dar, ein Array von Objekten.

Die folgende Tabelle fasst die Codierung gängiger Elementtypen zusammen:

Element Type Encoding
boolean Z
byte B
char C
double D
float F
int I
long J
short S
Class or interface Lclassname;

Arrays überschreiben nicht die von Object geerbte toString()-Methode , die eine Zeichenfolge im folgenden Format zurückgibt:

getClass().getName() + '@' + Integer.toHexString(hashCode())

Aus diesem Grund gibt toString() von Arrays eine Zeichenfolge in dem spezifischen Format zurück, auf das wir stoßen, einschließlich der Array-Klammern und Codierung von Klassennamen.

Während davon abgeraten wird, sich bei der Dekodierung von Array-Typen auf toString() zu verlassen, bietet Java alternative Methoden zum Abrufen von Typinformationen. Der Aufruf von getClass() für ein Objekt gibt ein Class-Objekt zurück, das für Reflexionszwecke verwendet werden kann. Darüber hinaus bietet java.util.Arrays Überladungen von toString() für primitive Arrays und Object[], wodurch es einfacher wird, eine für Menschen lesbare Darstellung von Array-Inhalten zu erhalten.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich die Klassentypkodierung „[Ljava.lang.Object;' von Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn