先不说别的,上代码
/**
* @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
}
}