mat*_*ijs 1 java string memory-management string-comparison
我最近在Java中了解到:==比较对象引用,而不是内容,这就是为什么:
String str1 = "hell";
String str2 = "o";
String str3 = str1 + str2;
String str4 = "hello";
str3 == str4; // False
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.但是,当我执行以下操作时:
String str5 = "hello";
str5 == str4; // True
Run Code Online (Sandbox Code Playgroud)
这是否意味着str5和str4引用相同的内存对象?这是如何运作的?
将String str5 = "hello";创建一个汇集字符串值hello,这就是为什么str5 == str4回报true.
另一方面,这样的str1 + str2工作:
+操作者实际调用的StringBuilder#追加(字符串或多个)方法str3 == str4实际上false.更多信息:
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |