我的目的是这样的,我写个student类,里面有name属性,而且给name赋值并保存到数据库里,
又写了dao,里面有findall方法出数据库取出数据,现在我想打印出name里面的值,我应该怎么做?
直接System.out.println(s.getName()),是null,怎么办啊,急!
List<Student>list = dao.findall();
for(Student s : list){
System.out.println(s.getName());

}

解决方案 »

  1.   

    这段代码没问题,检查一下dao
      

  2.   

    打印一下list.size(),看看具体取到数据了没!
      

  3.   

    sql有执行吗?
    追踪下sql执行点
    dao是自己写的?怎么将结果集封装给实体对象的?你可以先看看其他属性能取出来不?
    这个……追踪……一句话
      

  4.   

    首先引用import java.util.*;
    Lz可以用Arrays.toString(list)直接打印出list的列表内容,或者是
    Iterator ite=list.iterator();
    while(ite.hasNext())
      System.out.print(ite.next());
    空手写的,可能方法名有些错误..
      

  5.   

    DAO的问题   在那个层去打印一下数据试试
       “直接System.out.println(s.getName()),是null,怎么办啊,急!”
                                   ——这你都急了,不好。
      

  6.   

    List<Student>list = dao.findall();
    for(Student s : list){
    System.out.println(s.getName());}
    这代码没错,看看你写的dao到底有没有把查出来数据放到list里了
      

  7.   

    检查一下DAO,看取到数据没有 
      

  8.   


    写代码要多 考虑 异常 情况啊 边界判断啊List<Student>list = dao.findall();
    if(list == null && list.size() == 0) {   return;
    }
    for(Student s : list){
    System.out.println(s.getName());}
      

  9.   

    写错了应该是 
    List<Student>list = dao.findall();
    if(list == null || list.size() == 0) {   return  null;
    }
    for(Student s : list){
    System.out.println(s.getName());}
      

  10.   


    如果list为null,for循环是报错的,如果list的大小为0,for循环是不执行的。
    楼主的输出语句出现了 null  显然问题已经不在这个级别了,打印list.size()何用?
      

  11.   

    null pointer  哈哈 
      

  12.   

    设下断点 看看list是否为空,其中有值没 代码不严谨,该判断的地方还是要判断 一看就没经过单元测试的呵呵
      

  13.   

    debug下嘛!应该是dao出的问题。
      

  14.   

    肯定是没有把NAME的值SET进去。检查下SQL和SET值的程序。如果是Hibernate就检查下配置文件