/**
* @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
}
}