Java 字符串拼接: "a" + "b" + "c" 会创建几个对象?
在内存中会创建 4 个对象:三个字符串对象 'a'、'b'、'c' 和一个新的字符串对象 'abc'。
原因如下:
-
字符串常量池: Java 中的字符串常量会存储在字符串常量池中。 当你写下 'a'、'b'、'c' 时,编译器会先检查字符串常量池中是否已经存在相同的值。如果不存在,就会创建新的对象并添加到池中。
-
字符串拼接: 由于 '+' 操作符的运算顺序是从左到右,所以会先计算 'a' + 'b'。 由于字符串是不可变的,每次拼接都会创建一个新的字符串对象。因此,'a' + 'b' 会创建一个新的对象 'ab'。
-
再次拼接: 接着,'ab' + 'c' 又会创建一个新的对象 'abc'。
总结: 最终,内存中会创建 4 个字符串对象:'a'、'b'、'c' 和 'abc'。
原文地址: https://www.cveoy.top/t/topic/n8vi 著作权归作者所有。请勿转载和采集!