String intern

使劲没想出一个名字 2013-07-16 11:15:05
char[] c = new char[]{'a','b'};
String str3 = new String(c);

str3.intern();// 先调用一次intern()


String str5 = new String(c);

System.out.println(str5.equals(str3));// true

System.out.println(str5 == str3);// false

System.out.println(str5.intern() == str3); // false ?这儿为什么是false
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 rencht 的回复:
str5.intern()相当于字符串常量"ab"; new String出来的字符串都是对象
str5.intern():会创建一个新的字符串对象
rencht 2013-07-16
  • 打赏
  • 举报
回复
str5.intern()相当于字符串常量"ab"; new String出来的字符串都是对象
S117 2013-07-16
  • 打赏
  • 举报
回复
str5.intern() 是返回符串池中的字符串,而str3是指向字符串的一个引用,你认为能相等吗? str5.intern() == str3.intern()这样才相等!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧