gpt4 book ai didi

java - 无论如何,使用 rs.next() 加载 java 数组都会引发空指针错误。用控制台检查

转载 作者:行者123 更新时间:2023-12-02 10:13:52 25 4
gpt4 key购买 nike

我有一个非常简单的表格。

╔════╦═══════╗
║ id ║ title ║
╠════╬═══════╣
║ 1 ║ cow ║
║ 2 ║ duck ║
╚════╩═══════╝

ID 为 INT

标题是文本

我正在尝试用这两个寄存器填充一个数组。

集合类的构造函数为 (int,String)

我的代码:

collection[] co=null;

String query="SELECT * FROM collection";
ps=conn.prepareStatement(query);
rs=ps.executeQuery();
int counter=0;
while(rs.next()) {
co[counter]=new colleccion(rs.getInt("id"),rs.getString("title"));
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("title"));
counter++;
}

System.out.println 工作正常,值显示正确。但一到达数组行就会抛出异常。

还尝试使用列号(1 和 2),但结果是相同的。

请帮忙。

最佳答案

这里:

collection[] co=null;
[...]
co[counter]=...

您正在尝试为 null 数组分配一个值。

在将值放入数组之前,必须先初始化该数组:collection[] co= new collection[42]

但由于您可能事先不知道所需的大小,因此您可能希望将项目存储在 List 中。

List<collection> co = new ArrayList<>();
co.add(new collection(rs.getInt("id"),rs.getString("title")));

注意:对于类来说,collection 是一个糟糕的名称。你应该改变它。类名应以大写字母开头,并且 Collection 已被采用(并被广泛使用)。

关于java - 无论如何,使用 rs.next() 加载 java 数组都会引发空指针错误。用控制台检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54810586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com