1. 因为一开始jvm运行时常量池已经内置了字面量"java"和相应的符号引用,而intern会返回相应字面量的符号引用,因此你在堆区的引用跟原本内置在运行时常量池的引用肯定是不一样的,所以返回false。 2. 而一开始jvm运行时常量池里没有“计算机软件”这个字面量,你是通过stringBuilder的append方法得到的,这跟直接new String("计算机软件")不一样,编译后jvm运行时常量池里只有字面量"计算机"跟"软件"两个字面量。而intern会将字面量"计算机软件"在运行时动态加载在运行时常量池,并复制他在堆区的引用作为其在运行时常量池的符号引号,所以返回true。
点赞 1

相关推荐

07-23 12:04
门头沟学院 Java
现在是很缺人吗
码农索隆:缺分母,不缺分子,这样好作为炫耀的资本
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-24 13:32
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务