【发布时间】:2013-01-29 21:24:31
【问题描述】:
目前我有以下代码,我正在尝试从 Object 转换为 String,但出现异常错误。
从这个 Object 数组转换为 String 数组以便它在我的 for 循环中工作的最佳方法是什么?或者有没有办法改变我的 for 循环来显示 Object 数组?
<%
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();
%>
【问题讨论】:
-
它抛出了什么异常?
-
java.lang.ClassCastException: [Ljava.lang.Object;不能转换为 [Ljava.lang.String;