Java中的“”與null 判斷==與equals,注意了嗎?


舉兩個例子,看懂就懂!!

package com.xqc.test;

public class TestNULLAndEquals {
    public static void main(String[] args) {
        //str1不是一個實例化對象
        String str1=null;
        //str2是已經實例化,已經分配了內存,在內存中存在
        //可以使用Object的str2.equals(),str2.toString方法
        String str2="";
         //false,==判斷是否指向同一對象
         System.out.println(str1=="");
         //false
         System.out.println(str2==null);

         //報錯,str1不是一個實例化對象,不能使用Object的方法
         //System.out.println(str1.equals(""));
         //false,String中的equals進行了重寫,比較兩個字符串是否相等
         System.out.println(str2.equals(null));
         //false
         System.out.println(str1==str2);
         //報錯,str1不是實例化對象,不能使用Object的方法
         System.out.println(str1.equals(str2));
     }

 }
package com.xqc.test;

public class TestNULLAndEquals {
    public static void main(String[] args) {
        //str1不是一個實例化對象
        String str1=null;
        //str2是已經實例化,已經分配了內存,在內存中存在
        //可以使用Object的str2.equals(),str2.toString方法
        String str2="";
         //false,==判斷是否指向同一對象
         System.out.println(str1=="");
         //false
         System.out.println(str2==null);

         //報錯,str1不是一個實例化對象,不能使用Object的方法
         //System.out.println(str1.equals(""));
         //false,String中的equals進行了重寫,比較兩個字符串是否相等
         System.out.println(str2.equals(null));
         //false
         System.out.println(str1==str2);
         //報錯,str1不是實例化對象,不能使用Object的方法
         System.out.println(str1.equals(str2));
     }

 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM