java对象比较hashcode:identityHashCode

java中要比较2个对象内存地址是一个,可以用==

同时还有个方法

System.identityHashCode(要比较的对象)

这个方法能得到对象的内存地址的hashcode,一目了然,如果2个对象的hashcode一致,那他就是引用同一地址

还能测试是否垃圾回收了对象,因为内存地址变了,所以还是比较有用的

        String s1 = new String("Hello");
        String s2 =new String("Hello");
        System.out.println(System.identityHashCode(s1.intern())+ "----"+System.identityHashCode(s2.intern()));
        System.gc();
        s1 = new String("Hello");
        s2 =new String("Hello");
        System.out.println(System.identityHashCode(s1.intern())+ "----"+System.identityHashCode(s2.intern()));

 

posted on 2016-04-25 10:08  mefly  阅读(253)  评论(0编辑  收藏  举报

导航