String常量池-练习1

public class Javatest70 {
    /**
     * String常量池
     * 代码输出结果
     * =========使用双引号直接创建字符串=======
     * a5e75
     * 9e0ad
     * 31a7df
     * 31a7df
     * equals:true
     * name==name2: true
     *
     * =========使用构造方法创建字符串=======
     * 31a7df
     * 31a7df
     * equals:true
     * name3==name4: false
     *
     * =========两种方式对象比较=======
     * name==name3: false
     * equals:true
     */
    public static void main(String[] args) {
        System.out.println("=========使用双引号直接创建字符串=======");
        String addr = "北京";
        System.out.println(Integer.toHexString(addr.hashCode()));
        addr = "上海";
        System.out.println(Integer.toHexString(addr.hashCode()));
        String name = "jack";
        System.out.println(Integer.toHexString(name.hashCode()));
        String name2 = "jack";
        System.out.println(Integer.toHexString(name2.hashCode()));
        System.out.println("equals:" + name.equals(name2));
        System.out.println("name==name2: "+(name==name2));
        System.out.println();

        System.out.println("=========使用构造方法创建字符串=======");
        String name3 = new String("jack");
        System.out.println(Integer.toHexString(name3.hashCode()));
        String name4 = new String("jack");
        System.out.println(Integer.toHexString(name4.hashCode()));
        System.out.println("equals:" + name3.equals(name4));
        System.out.println("name3==name4: "+(name3==name4));
        System.out.println();

        System.out.println("=========两种方式对象比较=======");
        System.out.println("name==name3: "+(name==name3));
        System.out.println("equals:" + name.equals(name3));
    }
}

 

posted @ 2022-03-20 16:23  翼小白  阅读(29)  评论(0)    收藏  举报