String s="a"+"b"+"c" 创建了几个对象

答案:创建了一个

赋值符号右边的"a"、"b"、"c"都是常量
对于常量,编译时就直接存储它们的字面值而不是它们的引用
在编译时就直接将它们连接的结果提取出来变成了"abc"
该语句在class文件中就相当于String s = "abc"
然后当JVM执行到这一句的时候, 就在String pool里找
如果没有这个字符串,就会产生一个

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容