String-Pooling ist ein Prozess, bei dem eine einzelne Kopie jedes einzelnen String-Werts gespeichert wird. Andernfalls sind Zeichenfolgen unveränderlich. Auf diese Weise können die Zeichenfolgen dieselben Daten enthalten und denselben Speicher gemeinsam nutzen. Auf diese Weise wird der Speicherbedarf erheblich reduziert.
Wenn die Funktion „intern“ aufgerufen wird:
Sie prüft auf Gleichheit zwischen zwei Strings – d. h. ob das String-Objekt im String Constant Pool (SCP) existiert.
Soweit verfügbar, wird die Saite aus dem Pool genommen und zurückgegeben. Andernfalls wird ein neues String-Objekt erstellt und dem Pool hinzugefügt. Außerdem wird eine Referenz auf das String-Objekt zurückgegeben.
Für zwei Zeichenfolgen „a“ und „b“ ist a.intern() == b.intern() genau dann wahr, wenn a.equals(b) wahr zurückgibt.
Schauen wir uns ein Beispiel an:
Demonstration
public class Demo{ public static void main(String[] args){ String s1 = new String("Its"); String s2 = s1.concat("sample"); String s3 = s2.intern(); System.out.println("Checking equality of object 2 and 3 :"); System.out.println(s2 == s3); String s4 = "Its a sample"; System.out.println("Checking equality of object 3 and 4 :"); System.out.println(s3 == s4); } }
Checking equality of object 2 and 3 : true Checking equality of object 3 and 4 : false
Eine Klasse namens Demo enthält die Hauptfunktion. Hier werden drei Instanzen von String-Objekten definiert, wobei der zweite String die Verkettung des ersten Strings mit unterschiedlichen Werten ist. Die dritte Zeichenfolge ruft die Funktion „intern“ für die zweite Zeichenfolge auf. Diese Zeichenfolgen werden mit dem Operator „==“ verglichen und die Ergebnisse werden auf der Konsole angezeigt.
Das obige ist der detaillierte Inhalt vonIn Java die Implementierung von string. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!