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