关闭

Java的String类中的intern()方法

1349人阅读 评论(1) 收藏 举报

intern

public String intern()
返回字符串对象的规范化表示形式。

一个初始为空的字符串池,它由类 String 私有地维护。

当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(用 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并返回此 String 对象的引用。

它遵循以下规则:对于任意两个字符串 st,当且仅当 s.equals(t)true 时,s.intern() == t.intern() 才为 true

所有字面值字符串和字符串赋值常量表达式都使用 intern 方法进行操作。字符串字面值在 Java Language Specification 的 §3.10.5 定义。

返回:
一个字符串,内容与此字符串相同,但一定取自具有唯一字符串的池
可以用来查找内容相同的字符串,节省内存开销
String s1="hello";
String s2
=new String("hello");
s1
==s2;   //false  地址不同
s1.equals(s2);  //true 内容相同
s1==s2.intern();  //true 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:478687次
    • 积分:5456
    • 等级:
    • 排名:第5068名
    • 原创:51篇
    • 转载:174篇
    • 译文:1篇
    • 评论:59条
    最新评论