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

posted on 2022-03-25 19:58  oktokeep  阅读(109)  评论(2编辑  收藏  举报