字符串有两种创建方式:
String str = "abc";
String str = new String("abc");
第一种创建方式 JVM 会判断字符串常量池中是否包含该对象,如果有则返回常量池中对象的引用,如果没有则在常量池中创建一个新对象。
第二种创建方式在类加载阶段会将"abc"保存在 class 常量池中,调用 new 指令时会在堆中创建一个新的 String 对象。
问题:第一种创建方式是否等价于new String("abc").intern()
?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.