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; }