Java intern

来源:互联网 发布:Linux循环 选择文件 编辑:程序博客网 时间:2024/05/23 11:28
public class HelloString {    public static void main(String[] args){        //JVM维持一个字符串常量池        String A = "abc";        String B = new String("abc");        //两种创建方式不一样,B是创建在堆上的        System.out.print("A==B:" + (A==B) + "\n");        //intern是查找JVM常量池,把已经有的常量的引用复制给目标对象        String C = B.intern();//因此A是等于C的        System.out.print("A==C:" + (A==C) + "\n");        //把C引用指向另一个对象,不影响原对象的值        C = "def";        System.out.print("A==C:" + (A==C) + "\n");        //关于equals与==,String重写了equals方法,如果字符串的值相同也认为相同        System.out.print("A.equals(B):" + A.equals(B) + "\n");    }}
1 0