我正在学习java中的字符串实现,学习时遇到以下疑问
String s1 = "name1";
String s2 = "name1"; // both strings having same value;
我知道,
s1==s2
上面的比较将返回 false (根据我研究的内容,== 比较字符串对象的内存位置)。
但这返回true;
- 我想知道它返回“真实”的原因?
- 以及如何为字符串池中的字符串文字分配内存(字符串池/后端内部实际发生的情况);
对于以下操作,
String s1 = "String1";
String s2 = s1+"xyz";
String s3 = s1.replace("i","o");