Caractéristiques :
(Tutoriel recommandé : Tutoriel d'introduction à Java)
1. La classe String est modifiée par final. Il ne peut pas être hérité.
2. La classe String sous-jacente utilise une structure de tableau. Avant jdk9, char[] était utilisé, et après jdk9, byte[] était utilisé.
3. Une fois qu'un objet String est créé, il ne peut pas être modifié. Un pool de constantes de chaîne est conservé dans la couche inférieure pour le partage.
Remarque : Chaque fois qu'un objet de la classe String est modifié, un nouvel objet sera généré.
(Recommandation du didacticiel vidéo : tutoriel vidéo Java)
Épissage des objets String
Constantes de chaîne dans le pool constant + caractères dans le pool constant String constante : Le résultat est stocké dans le pool de constantes
String c = "a"+"b"; String ab = "ab"; System.err.println(ab==c); //输出true123
variable + Constante de chaîne dans le pool de constantes : Le résultat est stocké dans le tas
String a = "a"; String c = "a"+"b"; System.err.println(c==a+"b"); //输出false123
Si le résultat est concaténé Appelez la méthode intern() et la valeur de retour est dans le pool constant
String a = "a"; String b = "b"; String c = "a"+"b"; System.err.println(c==a+b); //输出false,证明String类的拼接中只要有一个是变量,结果就存在堆中 String a = "a"; String b = "b"; String c = "a"+"b"; System.err.println(c==(a+b).intern()); //输出true,说明如果拼接结果调用intern()方法,返回值就在常量池中
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!