Extensión de cadena: método intern ()

String s1 = new String("1") + new String("1");//s1变量记录的地址为:new String
s1.intern();//在字符串常量池中生成"11"。如何理解:jdk6:创建了一个新的对象"11",也就有新的地址;jdk7:此时常量池中并没有创建"11",而是创建了一个指向堆空间中new String("11")的地址;
String s2 = "11";
System.out.println(s1 == s2);//jdk6:false;jdk7:true

Resuma el uso del método intern () en String:

En jdk6:

Intente poner este grupo de constantes de cadena en el grupo de constantes de cadena.

Si hay en el grupo constante, no habrá ningún método. Devuelve la dirección del objeto en el grupo constante existente;

Si no, hará una copia de este objeto, lo pondrá en el grupo de cadenas y devolverá la dirección del objeto en el grupo de cadenas;

En jdk7:

Intente poner este grupo de constantes de cadena en el grupo de constantes de cadena.

Si hay en la piscina constante, no se colocará. Devuelve la dirección del objeto en el grupo constante existente;

Si no es así, copiará la dirección de referencia del objeto en el grupo constante y devolverá la dirección de referencia en el grupo constante;

Supongo que te gusta

Origin blog.csdn.net/guorui_java/article/details/109787051
Recomendado
Clasificación