未知的空指针异常-java

时间:2013-09-08 04:02:17

标签: java hibernate nullpointerexception

我正在尝试执行以下代码。

    Date date=new Date();
    //System.out.println("date "+date.getTime());
    List<User> d=sessionfactory.getCurrentSession().createQuery("from User").list();
    List<String> onlineUsers=null;
    for(User u:d){
        System.out.println(((date.getTime()/1000)-(u.getLastUpdated().getTime()/1000)));
        long s=((date.getTime()/1000)-(u.getLastUpdated().getTime()/1000));
        long j=120;
        System.out.println(u.getUsername());
        if(s<=j){
            onlineUsers.add(u.getUsername());
        }
    }

即使输出小于120,它甚至不进入if循环。为什么会这样?请帮助。

提前致谢。

2 个答案:

答案 0 :(得分:4)

如果if语句中的代码由于onlineUsersnull而被执行,则抛出NPE。也许您应该尝试初始化onlineUsers

List<String> onlineUsers = new ArrayList<String>();

答案 1 :(得分:1)

您必须初始化此列表类型

List<String> onlineUsers=null;

这样做会为你完成工作

List<String> onlineUsers=new ArrayList<String>();