舉兩個例子,看懂就懂!!
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));
}
}