如果没明白 可以在csdn搜一下intern写的听清楚的,我也是现学现卖 ------解决方案-------------------- String b = new String("abc");没有intern()的是新建一个对象,单独占一个内存块,所以a和b指向的是不同的内存块,下面有intern()的是去内存块找,有合适的直接取,所以c和d指向的是同一个内存块。 ------解决方案-------------------- String a = "abc"; 在字符串池中
String b = new String("abc"); 在内存中
第二个为什么是true 你看string api intern()方法里面的描述就应该明白了
public String intern()
返回字符串对象的规范化表示形式。
一个初始为空的字符串池,它由类 String 私有地维护。