Java代码规范及异常汇总 非空异常 NullPointerException
Java规范及异常汇总
1.java.lang.NullPointerException: null
orderReq.getId() != -1 修改为: orderReq.getId() != null && orderReq.getId() != -1
orderReq.getId() == -1 修改为: orderReq.getId() != null && orderReq.getId() == -1
public class OrderReq { private Integer id; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } } public static void main(String[] args) { OrderReq orderReq = new OrderReq(); /** * Exception in thread "main" java.lang.NullPointerException * at com.example.core.mydemo.NullTest.main(NullTest.java:7) */ // if(orderReq.getId() != -1){ // System.out.println("不等于-1"); // }else{ // System.out.println("等于-1"); // } if(orderReq.getId() != null && orderReq.getId() != -1){ System.out.println("不等于-1"); }else{ System.out.println("等于-1"); } }
//ids 不能直接跟 two比较,实际对比的是.intValue()的值比较。 //如果使用的是compareTo方法,也是比较的.value Integer ids = null; Integer two = new Integer(2); // if(ids == two.intValue()){ if(two.compareTo(ids) == 0){ System.out.println("1111111111"); }else { System.out.println("2222222222"); } /** * public int compareTo(Integer anotherInteger) { * return compare(this.value, anotherInteger.value); * } */
2.java.lang.IllegalArgumentException: class OrderRequestObject declares multiple JSON fields named isMemberFlag
这个异常是父类对象和子类对象存在相同的属性订单,gson在处理的时候会报错。
参考: https://blog.csdn.net/qq_22638399/article/details/85266820
3. BeanUtils.copyProperties 赋值属性值丢失,是因为该属性没有提供get set方法,如果是其他微服务提供的api.jar,可以手工赋值的方式来检查是否存在get set丢失的情况。
private String policyNo;
修改为:
org.springframework.beans.BeanUtils.copyProperties(modelSource, modelTarget);
private String policyNo;
public String getPolicyNo() {
return policyNo;
}
public void setPolicyNo(String policyNo) {
this.policyNo = policyNo;
}