在JAVA中如何获取list的值

这是来源

     @Override
    public List getYxzyListByYwslidZsk(Long ywslid) {
        StringBuilder hql = new StringBuilder();
        hql.append(" from " + ZSK + "  t where t.ywslid = " + ywslid);
        List list = this.findByQuery(hql.toString());
        if (list != null && !list.isEmpty()){
            return list; }
        else{return null;}
    }

下面这个是使用页面,其实已经判断不为空了,然后取出的时候报错空指针,看了看类型是对的,不知道怎么取。


                List<TpgGzfYxzy> tpgGzfYxzyList=gzfYxzyService.getYxzyListByYwslidZsk(ywslid);
                if (tpgGzfYxzyList!=null){
                    for (TpgGzfYxzy tpgGzfYxzy:tpgGzfYxzyList){
                        System.out.println(tpgGzfYxzy.getZyxl());
                        if (tpgGzfYxzy.getZyxl()==4){
                            row.setData("fourthfyd",tpgGzfYxzy.getYxdmc());};
                        if (tpgGzfYxzy.getZyxl()==5){
                            row.setData("fifthfyd",tpgGzfYxzy.getYxdmc());};
                        if (tpgGzfYxzy.getZyxl()==6){
                            row.setData("sixthfyd",tpgGzfYxzy.getYxdmc());};
                        if (tpgGzfYxzy.getZyxl()==7){
                            row.setData("seventhfyd",tpgGzfYxzy.getYxdmc());};
                    }
                }

@Override
public List getYxzyListByYwslidZsk(Long ywslid) {
StringBuilder hql = new StringBuilder();
hql.append(" from " + ZSK + " t where t.ywslid = " + ywslid);
List list = this.findByQuery(hql.toString());
if (list != null && !list.isEmpty()){
return list;
}else{
return null;
}
}

重写的方法 最后返回的是NULL值啊

ZSK 是TpgGzfYxzy吗? 是不是list里装的不是TpgGzfYxzy对象? row有值吗?如果这三个都没问题的话 不会出现空指针

最后一句返回值有问题。前面加else

debug 跟踪下看下你得到的结果是什么鬼

IF ELSE返回值是复制过来的时候缺了符号而已,尝试过断点,但是断点不知道为什么不触发,

List list 这个类型是什么,至于空指针,你debug看你传过去的参数是否为空,或者sql查出来为空 ,第一张图的ifelse非空写了等于没写 可以删掉