gpt4 book ai didi

java - 将对象数组列表转换为字符串数组

转载 作者:行者123 更新时间:2023-11-30 04:29:59 26 4
gpt4 key购买 nike

目前我有下面的代码,我试图从对象转换为字符串,但出现异常错误。

从对象数组转换为字符串数组以便它在我的 for 循环中工作的最佳方法是什么?或者有没有办法改变我的 for 循环来显示对象数组?

<%

Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:/Users/rhysparker/Documents/workspace/Resource_Planner/WebContent/db/RESOURCE.SQLITE");
Statement stat = conn.createStatement();

ArrayList<ArrayList<String>> al = new ArrayList<ArrayList<String>>();

ResultSet rs = stat.executeQuery("select project_name from project;");

ResultSetMetaData metaData = rs.getMetaData();
int columns = metaData.getColumnCount();

while (rs.next()) {
ArrayList<String> record = new ArrayList<String>();
for (int i = 1; i <= columns; i++) {
String value = rs.getString(i);
record.add(value);
}
al.add(record);
}

String[] testing = (String[])al.toArray();

for(int i=0;i<testing.length;i++)
{ %>
<option value="<%=testing[i]%>"><%=testing[i]%></option><%
}

rs.close();
conn.close();
%>

最佳答案

 I get an exception error.

是的,因为al类型为ArrayList<String> ArrayList<ArrayList<String>> al = new ArrayList<ArrayList<String>>();

并且您将其转换为字符串数组

String[] testing = (String[])al.toArray();

所以它会在运行时抛出异常,例如。

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

如果您要添加 Arraylist在 arraylist 中,您有责任确保类型检查。

您可以执行以下操作:

for (ArrayList<String> list: al)
{
String[] testing = list.toArray(new String[0]); // or (String[]) arr.toArray();
for(int i=0;i<testing.length;i++)
{ %>
<option value="<%=testing[i]%>"><%=testing[i]%></option><%
}
}

关于java - 将对象数组列表转换为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14868679/

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