`

null和""以及==与equals的区别

阅读更多
String str1 = null; str引用为空   
String str2 = ""; str引用为空串   
  
直接点就是null没有分配内存空间,而""分配了内存空间,因此str1还不是一个实例化的对象,而str2已经实例化。   
  
注意因为null不是对象,""是对象。所以比较的时候必须是 if(str1==null){....}和if(str2.equals("")){....}   
  
内存地址比较用equals,null用等号比较。


遇到的问题:先总结:判断为空时,用 || 。
String a = "";
		if("".equals(a) && a==null ){
			System.out.println("aike");
		}else{
			System.out.println("else");
		}  返回的值为else

String a = "";
       if("".equals(a) || a==null ){
			System.out.println("aike");
		}else{
			System.out.println("else");
		}  返回的值为aike


判断不为空时,用&&
String a = "";
		if(!"".equals(a) && a!=null ){
			System.out.println("aike");
		}else{
			System.out.println("else");
		} 返回的值为else
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics