String a ="hello";
String b ="hello";
String c =new String("hello");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a==c.intern());
运行结果是
true
false
true
因为a和b会直接将hello放到方法区的常量池里面,而c不会,如果想让c也放常量池里面,则需要调用intern方法