String s = "java";
s.substring(1); // ava
考虑到字符串的不变性,编译器不会修改's'
而是创建一个新对象,或者您可以说'java' as well as 'ava'
内存中有空间..
这会发生什么'ava'
,因为没有任何东西指向它或者它没有被任何东西引用..
还有一个问题...如果我会写String s = new String("java");
// 'java' is not in string literal pool....
那么'ava'是否会在字符串文字池中?