通过构造方法创建字符串对象:String s = new String("Java");

通过直接赋值创建字符串对象:String s = "Java";

“==”用于比较基本数据类型的值是否相同,用于比较引用数据类型的地址值是否相同。

字符串的内容是放在方法区的常量池里面的,是为了方便字符串的重复使用。new的时候是在堆内存里,通过构造方法来创建对象。直接赋值这类创建对象的方法是在方法区的常量池中。

Public static viod main (String [] args){

String s1 = new String ("Hello");

String s2 = "Hello";

String s3 = "Hello";

System.out.println(s1 == s2); //false

System.out.println(s1 == s3); //false

System.out.println(s2 == s3); //true

}