空指针问题!

问题描述

public class TestJdbc { private static List<TestBean> tbs; public static void main(String[] args) { String url ="jdbc:mysql://localhost/testjdbc?user=root&password=root&useUnicode=true&characterEncoding=8859_1"; TestBean tb=new TestBean(); ResultSet rs=null; try { Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement(); rs=stmt.executeQuery("select * from test"); while(rs.next()){ tb.setId(rs.getLong("id")); tb.setName(rs.getString("name")); tb.setPassword(rs.getString("password")); tbs.add(tb); } for(TestBean tb1: tbs){ System.out.println(tb1.getName()); System.out.println(tb1.getPassword()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }tbs.add(tb);报了一个 java.lang.NullPointerException。求解!!!!

解决方案

不好意思,刚才把泛型类型写错了。该问题的原因是:静态私有对象“tbs”未被初始化,楼上的代码修改得很好,也可以将这行代码“private static List<TestBean> tbs”修改成这样“private static List<TestBean> tbs = new ArrayList<TestBean>();”;。
解决方案二:
楼主人家都给你解决了,怎么还不关闭问题。不厚道
解决方案三:
该问题的原因是:静态私有对象“tbs”未被初始化,楼上的代码修改得很好,也可以将这行private static List<TestBean> tbs;代码修改成这样private static List<String> tbs = new ArrayList<String>();。
解决方案四:
public class TestJdbc { public static void main(String[] args) { String url ="jdbc:mysql://localhost/testjdbc?user=root&password=root&useUnicode=true&characterEncoding=8859_1"; List<TestBean> tbs = new ArrayList<TestBean>(); Connection conn= null; Statement stmt= null; ResultSet rs=null; try { conn= DriverManager.getConnection(url); stmt=conn.createStatement(); rs=stmt.executeQuery("select * from test"); while(rs.next()){ TestBean tb=new TestBean(); tb.setId(rs.getLong("id")); tb.setName(rs.getString("name")); tb.setPassword(rs.getString("password")); tbs.add(tb); } for(TestBean tb1: tbs){ System.out.println(tb1.getName()); System.out.println(tb1.getPassword()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch (Exception e) { } if (stmt != null) try { stmt.close(); } catch (Exception e) { } if (conn != null) try { conn.close(); } catch (Exception e) { } } }

时间: 2024-08-25 08:06:23

空指针问题!的相关文章

jdbcdaosupport-Spring mvc 空指针错误

问题描述 Spring mvc 空指针错误 LoginController @Controller public class LoginController { @RequestMapping("test") public void login() { LoginServiceImp loginService = new LoginServiceImp(); loginService.loadUserInfo(); } } LoginServiceImp public class Lo

tigase 消息推送-tigase-server运行报空指针

问题描述 tigase-server运行报空指针 如题通过下载最新版的tigase-server 7.0.1.exe 解压jar 运行安装...启动时报错通过Pandion客户端无法连接,求大神指点!主要是做消息推送 !

图片-Eclipse编译Java文件出现空指针错误,求大神指教如何改正

问题描述 Eclipse编译Java文件出现空指针错误,求大神指教如何改正 另外出现错误的代码 主函数 public static void main(String[] args) { Login login = new Login(RELOAD); login.setVisible(true); } public Login() { super(); initialize(); } public Login(boolean reload) { super(); initialize(); ne

界面跳转-intent.getExtras();报空指针

问题描述 intent.getExtras();报空指针 错误的重点是:**把最后Activity接收Activity1传来的数据代码,放在一个按钮中就完全正确,但是要是放在onCreate中,就崩溃报空指针** 程序先是Activity跳到Activity1,然后从Activity1中获取字符串传递回Activity中. 下面是Activity跳转到Activity1的代码: Intent intent=new Intent(); intent.setClass(MainActivity.th

andiord-程序运行时强制关闭,可能为空指针

问题描述 程序运行时强制关闭,可能为空指针 日志:java.lang.RuntimeException: Unable to start activity ComponentInfo{pcAlarm.pack/pcAlarm.pack.PCAlarmActivity}: java.lang.NumberFormatException: 空指针错误,可能在private void readSaveAlarm(){ SharedPreferences sp =getContext().getShar

自定义对象 xfire-用spring整合xfire时传递自定义类型的对象时报空指针错误

问题描述 用spring整合xfire时传递自定义类型的对象时报空指针错误 Exception in thread ""main"" org.codehaus.xfire.fault.XFireFault: Fault: java.lang.NullPointerException at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89) at org.codehaus.xfire.

C/C++中利用空指针简化代码提高效率

这里的写法,可以避免使用 for 循环,减少栈空间内存的使用和减少运行时的计算开销! #include <iostream>#include <string>using namespace std;void print_char(char* array[]);//函数原形声明void main(void){ char* test[]={"abc","cde","fgh",NULL};//这里添加一个NULL,表示不指向任何

空指针(NULL,0),野指针,void*的讲解

一:野指针 "野指针"不是NULL指针,是指向"垃圾"内存的指针. "野指针"的成因主要有两种: (1)指针变量没有被初始化.任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气.所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存.例如      char *p = NULL;      char *str = (char *) malloc(100); (2)指针p被free或者

jsp 页面这样,然后服务器抛出空指针错误

问题描述 jsp 页面这样,然后服务器抛出空指针错误 <%@ page contentType = "text/html;charset= gbb2312" %> <%@ page language = "java" pageEncoding = "gb2312" %> <%@ page import = "java.util.*" %> <%@ page import = "

exception-安卓空指针 异常 请问 怎么回事 小弟刚开始写安卓代码

问题描述 安卓空指针 异常 请问 怎么回事 小弟刚开始写安卓代码 03-30 12:16:38.625: E/AndroidRuntime(19941): FATAL EXCEPTION: main 03-30 12:16:38.625: E/AndroidRuntime(19941): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.voldian/com.voldian.voldian.shangc