可以自己代码跑一遍,通过断点的形式看看,我们都知道像String s1 = "ab"; String s2 ="a" +"b"; String s3 = new String("a") +"b"; 这三种情况,s1 ==s2 为true ,原因是s1 ="ab",字符串常量池中也有了"ab",s2的时候就直接指向常量池中的地址了,通过new 的方式创建字符串 会在内存中创建,同时常量池中也会有一份新的。通过this调用当前对象的字符串属性,我觉得应该底层也是创建新的字符串对象了,所以才会是false。具体的可参考图片
1 3

相关推荐

01-05 09:14
同济大学 Java
心碎一号线:我要是9✌🏻我就选保研,保研了大四再找实习,实习之后,如果觉得自己不适合互联网工作模式,还能有其他选择,如果实习后决定了走互联网,也能提升学历提高竞争力
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务