List<Store> noAssessment = new ArrayList<Store>();
noAssessment = storeBo.getNoNeededAssessment(user.getId());//返回值为空

System.out.println("noAssessment" + noAssessment);
List<Order>  noAssessmentOrder = new ArrayList<Order>();

if(noAssessment.size() > 0)或if(!noAssessment.isempty)都会抛出空指针异常
                  noAssessment是new 出来的,虽然返回值为null,但本身是有指向的,调用方法怎么会抛异常啊,
                  怎么判断才能不抛出异常

解决方案 »

  1.   

    noAssessment != null && noAssessment.size() > 0
    或者
    noAssessment != null && !noAssessment.isEmpty()
      

  2.   

    noAssessment = storeBo.getNoNeededAssessment(user.getId());
    重新指向了null,不在指向原来的new ArrayList<Store>()了
    null.size();所以抛异常
      

  3.   

    noAssessment.size() > 0 和 !noAssessment.isempty()是一个意思,都不能代替 noAssessment != null
      

  4.   

    正解 noAssessment 赋值为空,所以释放了原来的对象,所以还是先加个判断是否为空。
    noAssessment != null&&noAssessment.size() != 0