Le pooling de chaînes est un processus dans lequel une seule copie de chaque valeur de chaîne distincte est stockée. Sinon, les chaînes sont immuables. De cette façon, les chaînes peuvent contenir les mêmes données et partager la même mémoire. De cette façon, la mémoire requise sera considérablement réduite.
Lorsque la fonction 'intern' est appelée :
Elle vérifie l'égalité entre deux chaînes - c'est-à-dire si l'objet chaîne existe dans le pool de constantes de chaînes (SCP).
Si disponible, la ficelle sera retirée de la piscine et restituée. Sinon, un nouvel objet chaîne est créé et ajouté au pool. Une référence à l'objet chaîne est également renvoyée.
Pour deux chaînes 'a' et 'b', a.intern() == b.intern() est vrai si et seulement si a.equals(b) renvoie vrai.
Regardons un exemple :
Démonstration
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
Une classe nommée Demo contient la fonction principale. Trois instances d'objets String sont définies ici, où la deuxième chaîne est la concaténation de la première chaîne avec des valeurs différentes. La troisième chaîne appelle la fonction « intern » sur la deuxième chaîne. Ces chaînes sont comparées à l'aide de l'opérateur '==' et les résultats sont affichés sur la console.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!