为什么lists.add(examstudent)这行代码的lists始终为空

问题描述

为什么lists.add(examstudent)这行代码的lists始终为空

为啥会出现Null pointer access: The variable lists can only be null at this location错误

    String sql = "select flow_id, type, id_card, exam_card, student_name, location, grade from examstudent";

    PreparedStatement ps = null;
    ResultSet rs = null;
    List<ExamStudent> lists = null;

    try {
        ps = connection.prepareStatement(sql);
        rs = ps.executeQuery();

        while(rs.next()) {
            ExamStudent examstudent = new ExamStudent();

            int i = 1;

            examstudent.setFlow_id(rs.getInt(i++));
            examstudent.setType(rs.getInt(i++));
            examstudent.setId_card(rs.getString(i++));
            examstudent.setExam_card(rs.getString(i++));
            examstudent.setStudent_name(rs.getString(i++));
            examstudent.setLocation(rs.getString(i++));
            examstudent.setGrade(rs.getFloat(i++));

            lists.add(examstudent);  //Null pointer access: The variable lists can only be null at this location

        }

    } catch (SQLException e) {
        e.printStackTrace();
    }

    System.out.println(lists.size());
    return  lists;

解决方案

 List<ExamStudent> lists = null;
->
List<ExamStudent> lists = new List<ExamStudent>();

解决方案二:

List不new下,null能有add方法吗?

解决方案三:

List不new下,null能有add方法吗?

解决方案四:

List lists = new ArrayList();
List只是接口, 需要初始化成他的子类

时间: 2024-07-28 19:15:00

为什么lists.add(examstudent)这行代码的lists始终为空的相关文章

第一行代码-酷欧天气showProgressDialog();代码报错

问题描述 酷欧天气showProgressDialog();代码报错 第一行代码的酷欧天气ChooseAreaActivity,showProgressDialog();总是显示报错,根据原版的代码修改后依然如此,想知道是什么原因. 以下是代码: package activity; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.ProgressD

图片-关于学习《第一行代码》中发现的问题,不敢说是错误,应该是郭霖大神笔误。麻烦各位大神来教训晚辈。。。

问题描述 关于学习<第一行代码>中发现的问题,不敢说是错误,应该是郭霖大神笔误.麻烦各位大神来教训晚辈... _第一处问题:在fragment一章里关于动态加载fragment部分中,要添加的fragment类的代码如下 public class Fragment_3 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedIn

Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

目前,我相信,没有任何 Android 开发者不知道材料设计的,因为它的设计在过去的一年震惊了世界,正式的变成了一个设计理念. 令人惊讶的是,在 Android 应用中材料设计是不容易实现的,因为材料设计的 UI 组件 如: Floating Action Button (FAB) 在低于 Android L 系统上是不可用的.我们只能选择使用由独立开发者公布出来的第三方库. 来了一个好消息,上周(2015.5.29)在谷歌2015 I/O 大会时,谷歌宣布了一个今年最让人兴奋的支持库,名叫 A

从把三千行代码重构成15行代码谈起

从把三千行代码重构成15行代码谈起 如果你认为这是一个标题党,那么我真诚的恳请你耐心的把文章的第一部分读完,然后再下结论.如果你认为能够戳中您的G点,那么请随手点个赞. 把三千行代码重构为15行 那年我刚毕业,进了现在这个公司.公司是搞数据中心环境监控的,里面充斥着嵌入式.精密空调.总线.RFID的概念,我一个都不懂.还好,公司之前用Delphi写的老客户端因为太慢,然后就搞了个Webform的替代,恰好我对Asp.Net还算了解,我对业务的不了解并不妨碍我称成为这个公司的一个程序员.小公司也有

不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)

生成对抗网络(Generative Adversarial Networks,GAN)最早由 Ian Goodfellow 在 2014 年提出,是目前深度学习领域最具潜力的研究成果之一.它的核心思想是:同时训练两个相互协作.同时又相互竞争的深度神经网络(一个称为生成器 Generator,另一个称为判别器 Discriminator)来处理无监督学习的相关问题.在训练过程中,两个网络最终都要学习如何处理任务. 通常,我们会用下面这个例子来说明 GAN 的原理:将警察视为判别器,制造假币的犯罪分

用“Keras”11行代码构建CNN

更多深度文章,请关注:https://yq.aliyun.com/cloud 卷积神经网络(CNN)是一种特殊的深层的神经网络模型,为什么说它是特殊的神经网络模型呢?一是它的神经元间的连接是非全连接的,另一点是因为同一层中某些神经元之间的连接的权重是共享的.它的这些特点成功的降低了网络模型的复杂度以及减少了权值的数量,这也使得它的网络结构更类似于生物神经网络.今天我们就来用keras来实现CNN,keras是基于Theano和TensorFlow的深度学习库. 我曾经演示过如何使用TensorF

两千行代码的PHP学习笔记汇总_php技巧

本文汇总了PHP学习中常见的各类问题,约有两千多行代码,都是非常实用的技巧.分享给大家供大家参考.具体如下: //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 变量名建议用下划线方式分隔 // $var_name 函数名建议用驼峰命名法 // varName 定界符建议全大写 // <<<DING, <<<'DING' 文件名建议

为何编码规范每行代码不超过80个字符是合理的

也许在Python编码风格指导(PEP8)中最有争议的一部分要数每行代码不超过80个字符的限制.没错,实际上是79个字符,但我使用80个字符,这个大概数,它是给程序员的一个参考值. 编辑器   也许在Python编码风格指导(PEP8)中最有争议的一部分要数每行代码不超过80个字符的限制.没错,实际上是79个字符,但我使用80个字符,这个大概数,它是给程序员的一个参考值. 古老的VT100终端 现在很多软件公司采用的编码规范基本是PEP8,但每行80个字符的限制除外.GitHub上的项目,大多数

js+dom增加删除表格行代码

js+dom增加删除表格行代码 <table id="tbl" width="300" name="tbl" border="1">   <tr>     <td width="160">content</td>     <td>name</td>     <td><input type="button&qu