String n = "a" + "f" + "ki";书上说"a", "f", "ki"都是常量 但又没加final修饰啊 怎么是常量呢?还有 字符串不是连接一次就创建一个对象吗 那这应该创建了两个对象啊 书上却说是一个 为什么呢?
1 回答
![?](http://img1.sycdn.imooc.com/5b0c123100018e1504800480-100-100.jpg)
OneKi
TA贡献75条经验 获得超45个赞
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"a","f","ki"的这么一个对象,它的判断依据是String类equals(Object obj)方法的返回值。如果有,则不再创建新的对象,直接返回已存在对象的引用;如果没有,则先创建这个对象,然后把它加入到字符串池中,再将它的引用返回。
添加回答
举报
0/150
提交
取消