對象判斷是否爲null

先不說別的,上代碼
/**
 * @param func 命令字
 * @param str1 第一行現實的額字符串
 * @param str2 第二行顯示的字符串
 */
private void vfdContentDisplay(byte  func,String str1,String str2){
	
	if (str1.equals(null)) {
		//TODO
	}else{
		//TODO
	}
}

說明下,該函數是對要在vfd上顯示的內容進行封裝。對於str1爲null或不爲null,有兩種處理方式。


細心的人一下子就能發現上述代碼的錯誤之處(你發現了嗎O(∩_∩)O)。

沒錯,那就是不能用equals來比較該字符串是否爲null。原因很簡單,null本身不是對象(不是Java.Lang.Object的實例),它只能用來標識一個不確定的對象!

對null能進行的操作,只有“=”和“==”。所以上述代碼的正確寫法應該是:

/**
 * @param func 命令字
 * @param str1 第一行現實的額字符串
 * @param str2 第二行顯示的字符串
 */
private void vfdContentDisplay(byte  func,String str1,String str2){
	
	if (null==str1) {
		//TODO
	}else{
		//TODO
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章