Cadena s1 = new String ( "")
String s1 = new String ( "ABC ") se crea directamente en el objeto java y devuelve una referencia al equipo, a medida que creamos los objetos ordinarios, como
public static void testNewString() {
String s1 = new String("abc"); // java堆中创建的对象1
String s2 = new String("abc"); // java堆中创建的对象2
String s3 = "abc"; // 常量池中对象3
// false----false
System.out.println((s1 == s2) + "----" + (s2 == s3));
}
Cadena s2 = “abc”
Cadena s2 = "abc" es empezar a averiguar si hay piscina constante "abc" esta constante, no se devuelve una referencia, en su caso, para crear una constante en la piscina constante y devuelve su referencia
public static void testConstString() {
String s1 = "abc";
String s2 = "abc";
// true
System.out.println(s1 == s2);
}
Cadena s3 = s1.intern ()
Este método se llama, primero descubrir si hay piscina pesado constante s1 la cadena, si es así, devuelve su referencia en la piscina constante, si no, crear un conjunto de constantes en el mismo objeto de cadena y devuelve su referencia
public static void testIntern() {
String s1 = new String("abc"); // 在java队中创建对象s1
String s2 = s1.intern(); // 将s1拷贝到常量池中并返回其引用
String s3 = "abc"; // 从常量池中寻找"abc"并返回其引用
// false---true
System.out.println((s1 == s2) + "---" + (s2 == s3));
}