JAVA中, String = "a" + "b" + "c"; 请问一个生成了几个对象?

如题所述

第1个回答  2024-02-26
String s = "a" + "b" + "c" 这样直接几个字面值相加的,java文件在编译期间就已经将这条语句做了优化,将其直接变成 "abc",等到运行的时候会先去字符串常量池中寻找有没有“abc”这个字符串,若有,则将其地址给 s;若没有,则先在字符串常量池里创建“abc”,然后再把地址给s
因此,如果程序内此条语句之前已经创建了 "abc"对象,那么此条语句生成0个对象,如果之前没有"abc"对象,则创建一个对象。
相似回答