Heim >Java >JavaErste Schritte >Detaillierte Einführung in die häufig verwendete Java-Klasse String-Klasse

Detaillierte Einführung in die häufig verwendete Java-Klasse String-Klasse

王林
王林nach vorne
2020-07-14 16:44:212619Durchsuche

Detaillierte Einführung in die häufig verwendete Java-Klasse String-Klasse

Häufig verwendete Klasse String

(Empfohlenes Tutorial: Java-Einführungs-Tutorial)

String-Klasse stellt einen String dar. Alle String-Literale in Java-Programmen (z. B. „abc“) werden als Instanzen dieser Klasse implementiert.

Strings sind Konstanten und ihre Werte können nach ihrer Erstellung nicht geändert werden. String-Puffer unterstützen veränderliche Strings. Da String-Objekte unveränderlich sind, können sie gemeinsam genutzt werden.

String-Quellcode

public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
}

String-Mitgliedsvariable

//String的属性值
private final char value[];
//数组被使用的开始位置
private final int offset;
//String中元素的个数
private final int count;
//String类型的hash值
private int hash; // Default to 0
private static final long serialVersionUID = -6849794470754667710L;
private static final ObjectStreamField[] serialPersistentFields =
  new ObjectStreamField[0];

Aus dem Quellcode ist ersichtlich, dass die zugrunde liegende String-Schicht mithilfe eines Zeichenarrays verwaltet wird.

Mitgliedsvariablen können wissen, dass der Wert der String-Klasse endgültig ist und nicht geändert werden kann. Solange sich ein Wert ändert, wird ein neues Objekt vom Typ String generiert und die String-Daten beginnen nicht unbedingt mit die 0. Position des Arrays. Es beginnt mit einem Element, beginnt jedoch mit dem Element, auf das der Offset zeigt.

(Empfohlenes Video-Tutorial: Java-Video-Tutorial )

So erstellen Sie ein String-Objekt

String s1 = "hello" ; 
String s2 = "world" ;
String s3 = "hello" ;
System. out. println(s1 == s3) ; //true

„Hallo“ von S1 und S3 und „Hallo " von s2 „world“ existiert im Konstantenpool des Methodenbereichs.

Wie in der Abbildung gezeigt:

Detaillierte Einführung in die häufig verwendete Java-Klasse String-Klasse

Also s1==s3

s1 = new String ("hel1o") ;
s2 = new String ("hel1o") ;
System.out.println(s1 == s2) ; //false
System.out.println (s1.equals (s2) ) ; // true

s1 und s2 sind zwei String-Objekte, die durch neues und erhalten werden existieren im Heap, die Adressen sind unterschiedlich. s1 und s2 sind zwei Referenzen, daher wird die Adresse s1 != s2 verglichen.

String's equal schreibt Object's equal um. Es vergleicht keine Adressen wie Object, sondern Werte, daher ist s1.equals (s2) wahr.

3.char c[]= { &#39;s&#39;, &#39;u&#39; , &#39;n&#39;,&#39;,&#39;, &#39;j&#39;, &#39;a&#39;, &#39;v&#39; ,&#39;a&#39;} ;
String s4 = new String(c) ;
String s5 = new String(c,4,4) ;
System.out.println(s4) ; //sun java
System.out.println(s5) ; //java

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die häufig verwendete Java-Klasse String-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen