你加上双引号就是一个字符串了,null本身代表空,这两个当然不一样了。
String str1 = null; // 代表str1为空
Stirng str2 = "null"; // 代表str2为一个字符串,内容是"null"
对象为null说明还没有赋值,也就是在内存中赋的是空值,对象为“null”给对象赋值为“null”,也就是内存中存放的为null字符串
一个为空 一个是字符串
String a="";
String a1="null";
if(a.equals("null")){
System.out.print("1");
}else if(a==""){
System.out.print("2");
}
if(a2.equals("null")){
System.out.print("1");
}else if(a2==""){
System.out.print("2");
}
我是这样理解的 你参考下吧
肯定有区别啊, 一个是默认值,例如:String str = null; String str1 = "null";
这两个肯定是不懂的,str是没有值的 str1是有值的 并且值为null的字符串