Java杂乱无章-判断为空的编码规范
Test类
public class Test {
private int userId;
private String userName;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
Demo
public class Demo {
public static void main(String[] args) {
Test test = new Test();
System.out.println("start");
// //空指针异常
// if (test.getUserName().equals("")) {
// System.out.println("userName为空");
// }
//
// // 正常运行,但返回不是想要的数据
// if ("".equals(test.getUserName())) {
// System.out.println("userName为空");
// } else {
// System.out.println("userName不为空");
// }
//
// // 正常运行,但当userName为""的时候,返回不是想要的数据
// if (null == test.getUserName()) {
// System.out.println("userName为空");
// } else {
// System.out.println("userName不为空");
// }
/*
* 当我们对一个值或者对象的属性判空时,必选先判断null再判断""
* 注意,如果是get方法取值时,必须将null与""放至前面进行判断
*/
// 正常运行
if (null == test.getUserName() || "".equals(test.getUserName())) {
System.out.println("userName为空");
} else {
System.out.println("userName不为空");
}
System.out.println("end");
}
}
项目过程中遇到的小问题,在此记录。