类型转换

A类:PO

    private Long id;

        public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id= id;
    }

B类:VO

   private long id;

        public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id= id;
    }

POToVO:

//VO中
public void poToVo(Object obj){
  if(obj != null){
    A a = (A)obj;
this.id = a.getId();
  } }

如果A中id 为null,则在po转vo的时候会报空指针。

因为

this.id = a.getId();

可拆分为三部分执行
1、  获取值:a.getId() 
2、  由于左边为long:会调用longValue()方法,将Long类型的转换为long
3、  赋值:
因此具体的步骤为:
this.id = a.getId().longValue();

so:NullPoint

原文地址:https://www.cnblogs.com/binbang/p/5176811.html