我想把一个集合查出来利用list.add加入新的一个集合,并传到web页面,问题是数据库明明有记录,但就是报空指针如果改成list().get(i).get属性名,却不会错了,请各位大哥帮忙
List symptom=null;
List benefit=null;



for (int i=0; i<foodlist.size() ;i++)
{

Food food = (Food)foodlist.get(i);

for(int j=0;j<foodDao.searchfood1(food.getFood1()).size();j++){

System.out.println(foodDao.searchfood1(food.getFood1()).size());
symptom.add(foodDao.searchfood1(food.getFood1()).get(j));
System.out.println(foodDao.searchfood1(food.getFood1()).get(j).getFood2());

}

解决方案 »

  1.   

    报空指针不是肯定的么,
    symptom是null值嘛
      

  2.   

    既然没报错,你怎么知道是空指针??
    你的代码中内层循环,每执行一次循环都要对数据查询4次,效率太低了!List symptom=null;
    List benefit=null;
    for (int i=0; i<foodlist.size() ;i++)
    {
    Food food = (Food)foodlist.get(i);
    //你里返回的是一个List,具体存放的什么你需要给个泛型。
    benefit = foodDao.searchfood1(food.getFood1())
    for(int j=0;j< benefit.size();j++){
    System.out.println(benefit.size());
    //如果不指定泛型,下面这句应该要强转的。
    symptom.add(benefit.get(j));
    System.out.println(benefit.get(j).getFood2());
    }
    }
      

  3.   

    List symptom=new ArrayList();
      

  4.   

    symptom.add  你的 symptom 是null吧