Mat*_*erg 0 java arrays nullpointerexception
所以我有一个字符串[] [],我想从我的数据库中保存一些信息.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]);
Run Code Online (Sandbox Code Playgroud)
您应该将数组初始化为非null值,以便使用它:
String systems[][] = new String[n][5];
Run Code Online (Sandbox Code Playgroud)
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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |