Java字符串之谜:String a = "ab"; String b = "a" + "b"; a == b 吗?
在Java编程中,字符串的比较是一个常见且重要的话题。今天,我们将深入探讨一个看似简单却隐藏着不少玄机的问题:String a = "ab"; String b = "a" + "b"; a == b 吗?
问题分解
首先,我们需要理解Java中字符串的两种创建方式及其背后的机制:
- 字面量创建:使用双引号直接创建,如
String a = "ab"; - 字符串拼接:使用
+运算符进行拼接,如String b = "a" + "b";
字面量创建
当我们使用字面量创建字符串时,Java会在字符串常量池(String Pool)中查找是否存在相同内容的字符串。如果存在,则返回池中的实例;如果不存在,则在池中创建一个新的实例并返回。
String a = "ab";
在这个例子中,a 是通过字面量创建的,存储在字符串常量池中。
字符串拼接
当我们使用 + 运算符进行字符串拼接时

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



