gpt4 book ai didi

java - Java 2d String 空指针异常

转载 作者:行者123 更新时间:2023-12-01 07:04:36 25 4
gpt4 key购买 nike

所以我有一个字符串[][],我想在其中保存数据库中的一些信息。 Eclipse 告诉我需要初始化 string[][],所以我说 string[]][] = null。现在我得到一个空指针异常,但我不确定我做错了什么。

try {
Statement st = con.createStatement();
String systems[][] = null;
int firstcounter = 0;

String item = "SELECT ram, cpu, mainboard, cases, gfx FROM computer_system";

ResultSet rs = st.executeQuery(item);
while (rs.next()){
systems[firstcounter][0] = rs.getString("ram");
systems[firstcounter][1] = rs.getString("cpu");
systems[firstcounter][2] = rs.getString("mainboard");
systems[firstcounter][3] = rs.getString("cases");
systems[firstcounter][4] = rs.getString("gfx");
firstcounter++;
}
System.out.println(systems[0][0]);

最佳答案

您应该将数组初始化为非空值才能使用它:

String systems[][] = new String[n][5];

哪里n是数组的最大容量。

如果您事先不知道数组应包含多少行,则可以使用 ArrayList<String[]>相反,因为 ArrayList 的容量可以成长。

例如:

        Statement st = con.createStatement();
List<String[]> systems = new ArrayList<String[]>();
String item = "SELECT ram, cpu, mainboard, cases, gfx FROM computer_system";
ResultSet rs = st.executeQuery(item);
while (rs.next()){
String[] row = new String[5];
row[0] = rs.getString("ram");
row[1] = rs.getString("cpu");
row[2] = rs.getString("mainboard");
row[3] = rs.getString("cases");
row[4] = rs.getString("gfx");
systems.add(row);
}

关于java - Java 2d String 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29123682/

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