为什么抛出异常呢,我
null
java.lang.NullPointerException
at hava.main(hava.java:16) import java.sql.*;
public class hava {
public static final String sq="select * from use_login";
public static final String[] columnNames ={"name","position"};
static Statement stmt;
static Object data[][];
public static void main(String args[]){
try{
ConnectionSQL.connect();
stmt=ConnectionSQL.con.createStatement();
ResultSet rs=stmt.executeQuery(sq);
int i=0;
while(rs.next()){
data[i][0]=rs.getString("name");
data[i][1]=rs.getString("position");
i++;
} }
catch(Exception e ){
e.printStackTrace();
}
System.out.println(data);
}
}
数据库连接上去了 只是我把rs集 传给个二维数据,为什么会出现异常呢,、
null
java.lang.NullPointerException
at hava.main(hava.java:16) import java.sql.*;
public class hava {
public static final String sq="select * from use_login";
public static final String[] columnNames ={"name","position"};
static Statement stmt;
static Object data[][];
public static void main(String args[]){
try{
ConnectionSQL.connect();
stmt=ConnectionSQL.con.createStatement();
ResultSet rs=stmt.executeQuery(sq);
int i=0;
while(rs.next()){
data[i][0]=rs.getString("name");
data[i][1]=rs.getString("position");
i++;
} }
catch(Exception e ){
e.printStackTrace();
}
System.out.println(data);
}
}
数据库连接上去了 只是我把rs集 传给个二维数据,为什么会出现异常呢,、
---------------------------->
static Object data[][] = new Object[10][10];
数组是空的
不是数组是空的,是根本没有这个数组~~
这里仅仅是声明了一个数组的引用,没有创建数组对象。
编译器会自动给类变量初始化,所以这里不会报编译错误。但是数组是对象,默认初始化为null,所以后面就会报空指针错误。
java中new的数组不需要初始化,因为它是对象,会自动初始化内部成员(int为0,对象为null,等等)。