空指针问题!

[code="java"]
public class TestJdbc {
private static List 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();
    } 
}

[/code]
tbs.add(tb);报了一个 java.lang.NullPointerException。求解!!!!

不好意思,刚才把泛型类型写错了。
该问题的原因是:静态私有对象“tbs”未被初始化,楼上的代码修改得很好,也可以将这行代码
“private static List tbs”
修改成这样“private static List tbs = new ArrayList();”;。

[code="java"]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) {
            }
    }
}

[/code]

该问题的原因是:静态私有对象“tbs”未被初始化,楼上的代码修改得很好,也可以将这行[code="java"]private static List tbs;[/code]代码修改成这样[code="java"]private static List tbs = new ArrayList();[/code]。

楼主人家都给你解决了,怎么还不关闭问题。
不厚道