获取java.lang.NullPointerException
问题是我不知道问题出在哪里获取java.lang.NullPointerException,java,oracle,oracle10g,Java,Oracle,Oracle10g,问题是我不知道问题出在哪里 但我想做的是在一个过程中从数据库获取一些信息,并在main中调用这个过程您正在将数组初始化为null,然后尝试在索引[i]处访问它。 只有在知道数组的固定大小时,才应该使用数组,并将其初始化为该大小的新数组 在您的情况下,大小不是固定的,因此解决方案是使用列表而不是数组。 如果愿意,您可以稍后使用toArray()方法将该列表转换为数组。您正在尝试访问空nom_fill数组…. 试试这个。。。 字符串nom_fill[]=新字符串[编号] 问题很清楚。阅读duplic
但我想做的是在一个过程中从数据库获取一些信息,并在main中调用这个过程您正在将数组初始化为null,然后尝试在索引[i]处访问它。 只有在知道数组的固定大小时,才应该使用数组,并将其初始化为该大小的新数组 在您的情况下,大小不是固定的,因此解决方案是使用列表而不是数组。
如果愿意,您可以稍后使用toArray()方法将该列表转换为数组。您正在尝试访问空nom_fill数组….
试试这个。。。
字符串nom_fill[]=新字符串[编号] 问题很清楚。阅读duplicate@Tunaki但是,这对他学习问题没有帮助,他也不是在问什么是NPE。知道NPE的确切位置会很有用…
String nom_fil[]=null代码><代码>名称fil[i]=…
。。。请始终记住:null
不是数组。如果getObject(1)
返回null,则可能会发生NPE,但在对nullnom\u fil
变量执行nom\u fil[i]
时肯定会发生NPE。这就是问题所在,堆栈跟踪告诉了您这一行。当然,您没有向我们显示堆栈跟踪,因此这一部分是有根据的猜测。
public class Combo {
public void list() throws SQLException{
ResultSet rs=connexion.getStats().executeQuery("select * from GROUP_FILIÈRE ");
// ResultSetMetaData rsm=rs.getMetaData();
String nom_fil[] = null; int i=0;
while( rs.next()){
nom_fil[i]=rs.getObject(1).toString();
System.out.println(' '+nom_fil[i]);
i ++;
}
}
public static void main(String args[]) throws SQLException{
Combo cb=new Combo();
cb.list();
}
}