这是来源
@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非空写了等于没写 可以删掉