都说string name="zlz"是创建了两个对象,一个是缓存池里的,一个是堆里的,怎么看出来啊?
直接用反射就得了呗。
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
String name ="zlz";
String name2 = new String("zlz");
Field field = String.class.getDeclaredField("value");
field.setAccessible(true);
char[]value1,value2;
value1 = (char[]) field.get(name);
value2 = (char[]) field.get(name2);
System.out.println(value1==value2);
}