字符串那点事

来源:互联网 发布:大数据 结构化数据 编辑:程序博客网 时间:2024/05/22 15:03
public class StringTest {    public static  void main(String[] args){        String s1="abc";        String s2="abc";        String s3=new String("abc");        System.out.println("s1==s2: "+(s1==s2));        System.out.println("s1==s3: "+(s1==s3));    }}对于直接创建的字符串,会检查constant pool中是否存在,如果有,直接指向它
String s1="hello";String s2=new String("hello");System.out.println("s1==s2: "+(s1==s2));System.out.println("s1.equal(s2): "+(s1.equals(s2)));s2=s2.intern();System.out.println("s1==s2: "+(s1==s2));/*用new 创建的则原因在于 intern 这个方法返回的是 返回字符串对象的规范化表示形式,当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。*/

0 0
原创粉丝点击