Heim >Java >javaLernprogramm >Ist String ein Objekt oder eine Klasse in Java? Detaillierte Erklärung von String in Java
Viele Menschen verstehen die Definitionen von Objekten und Klassen nicht. Ist beispielsweise String in Java ein Objekt oder eine Klasse?
Manche Leute sagen, dass String sowohl eine Klasse als auch ein Objekt sein kann.
Tatsächlich ist es für ihn in Ordnung, das zu sagen. Klassen und Objekte sind eigentlich abstrakte Konzepte. Wir können eine Klasse von Dingen gruppieren und ihr einen Namen geben, welche Klasse sie hat und was sie konkret tut, aber wir können auch sagen, dass es sich um ein Objekt handelt...
Man kann also sagen, dass String ein Objekt ist KlasseEs kann auch als Objekt bezeichnet werden.
Aber wenn Sie tiefer eintauchen möchten , hat der Redakteur zum Beispiel einen tiefen Einblick genommen und ich habe festgestellt, dass es sich bei java.lang um eine einfache Klasse handelt im Quellcode im lang-Paket.
public final class String extends Object implements Serializable,Comparable < String >,CharSequence
In java.lang stellt die String-Klasse einen String dar. Alle String-Literale in Java-Programmen, wie zum Beispiel „abc“, werden als Instanzen dieser Klasse implementiert.
Strings sind unveränderlich; ihre Werte können nach der Erstellung nicht geändert werden. String-Puffer unterstützen veränderliche Strings. Da String-Objekte unveränderlich sind, können sie gemeinsam genutzt werden. Zum Beispiel:
String str =“abc”;
entspricht:
char data [] = {'a','b','c'}; String str = new String(data);
Hier einige Beispiele für die Verwendung von Zeichenfolgen:
System.out.println( “ABC”); String cde =“cde”; System.out.println(“abc”+ cde); String c =“abc”.substring(2,3); String d = cde.substring(1,2);
Die Klasse String enthält zur Überprüfung Sequenzen Methoden für einzelne Zeichen, die zum Vergleichen von Zeichenfolgen, zum Durchsuchen von Zeichenfolgen, zum Extrahieren von Teilzeichenfolgen und zum Erstellen einer Kopie der Zeichenfolge verwendet werden, die alle Zeichen in Groß- oder Kleinbuchstaben übersetzt. Die Groß-/Kleinschreibung basiert auf der Unicode-Standardversion, die von der Character-Klasse angegeben wird.
Die Java-Sprache bietet spezielle Unterstützung für den String-Verkettungsoperator (+) und für die Konvertierung anderer Objekte in Strings. Die String-Verkettung wird über die Klasse StringBuilder (oder StringBuffer) und ihre Append-Methode implementiert. Die String-Konvertierung wird über die toString-Methode implementiert, die von allen Klassen in ObjectJava definiert und von diesen geerbt wird. Weitere Informationen zur Zeichenfolgenverkettung und -konvertierung finden Sie in Gosling, Joy und Steele, Java Language Specification.
Sofern nicht anders angegeben, führt die Übergabe eines Nullarguments an einen Konstruktor oder eine Methode in dieser Klasse dazu, dass eine NullPointerException ausgelöst wird.
Ein String, der einen UTF-16-formatierten String darstellt, in dem zusätzliche Zeichen durch Ersetzungsdoppel dargestellt werden (weitere Informationen finden Sie im Abschnitt Unicode-Zeichendarstellungen in der Character-Klasse). Indexwerte beziehen sich auf Zeichencodeeinheiten, daher verwenden Zusatzzeichen zwei Positionen in einem String. Die String-Klasse von
bietet Methoden zur Verarbeitung von Unicode-Codepunkten (d. h. Zeichen) zusätzlich zu Methoden zur Verarbeitung von Unicode-Codeeinheiten (d. h. Zeichenwerten).
Wenn Sie also in Zukunft auf Probleme stoßen, können Sie die Dokumentation und den Quellcode überprüfen. Sie können auch erkennen, dass es sich um eine Klasse handelt, indem Sie die Dokumentation überprüfen, und Sie können schnell verstehen, was es ist, indem Sie sich den Quellcode ansehen.
In Zukunft können Sie eine ähnliche Methode verwenden, um zu sehen, ob es sich bei etwas um eine Schnittstelle, Klasse usw. handelt.
Klasse: Es handelt sich um eine subjektive Abstraktion und Definition eines physischen Objekts. Das Objekt ist die spezifische Instanz, die von dieser Klasse generiert wird. String s=new String(); String-Klasse. .
KonstruktormethodeZusammenfassung
String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。 String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 String(byte[] bytes, Charset charset) 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 String(byte[] ascii, int hibyte) 已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 String(byte[] bytes, int offset, int length) 通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 String(byte[] bytes, int offset, int length, Charset charset) 通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。 String(byte[] ascii, int hibyte, int offset, int count) 已过时。 该方法无法将字节正确地转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是使用带有 Charset、字符集名称,或使用平台默认字符集的 String 构造方法。 String(byte[] bytes, int offset, int length, String charsetName) 通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。 String(byte[] bytes, String charsetName) 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。 String(char[] value) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
Zusammenfassen (pz): Klasse, Es handelt sich um eine subjektive Abstraktion und Definition eines physischen Objekts. Ein Objekt ist eine bestimmte, von dieser Klasse generierte Instanz. String s=new String();
Hier ist String eine Klasse und s ein von der String-Klasse generiertes Objekt. . Im Wesentlichen ist String eine Klasse, aber wenn Sie sie verwenden möchten, können Sie ein Objekt instanziieren.
String ist eine ganz besondere Klasse! Anders als Basistypen
[Verwandte Empfehlungen]
1 Teilen Sie ein Beispiel-Tutorial der String-Klasse in Java
2. Fassen Sie die Beispiel-Tutorials der String-Klasse in Java zusammen
4.Teilen Sie einige Quellcode-Interpretationen von Java String
Das obige ist der detaillierte Inhalt vonIst String ein Objekt oder eine Klasse in Java? Detaillierte Erklärung von String in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!