java中==与equals的比较

//          字面量存放在   常量池
//        s1和s2共用一个hello,内存地址都指向hello,
        String s1="hello";
        String s2="hello";
//        创建对象,就在堆内存里开辟出一块空间
//        s3和s4都是分别开辟出一块空间来保存hello
        String s3=new String("hello");
        String s4=new String("hello");
    /*
     * ==判断是否是同一个对象(对象的内存地址是否一样)
     * equals() 判断字符串内容是否一致
     */
    
        System.out.println(s1==s2);       //true
        System.out.println(s1==s3);       //false
        System.out.println(s3==s4);       //false
        System.out.println(s3.equals(s4));//true

你可能感兴趣的:(java知识)