java实现把List的值放入一个数组中

public static List<String> getSystemParaList() throws SQLException{
List out_list = new ArrayList();
DbUtils.loadDriver("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl", "bshare", "bshare");
String sql = "select PARA_NAME,PARA_SYS_DEFAULT_VALUE,PARA_USER_SET_VALUE from T_LX_SYS_PARAMETER_REG where PARA_SYSTEM like ?";
PreparedStatement prep = conn.prepareStatement(sql);
prep.setString(1,"LX%");
ResultSet rs = prep.executeQuery();
//ResultSetMetaData rsmd = prep.getParameterMetaData();
//int column = rs.getMetaData();
// ResultSetMetaData rsmd = rs.getMetaData();
// int colum = rsmd.getColumnCount();

while(rs.next()){
// String str[] = new String[colum];
out_list.add(rs.getString("PARA_NAME"));
out_list.add(rs.getDouble("PARA_SYS_DEFAULT_VALUE"));
out_list.add(rs.getDouble("PARA_USER_SET_VALUE"));
//将这三个值作为一个对象存入一个数组中
}
prep.close();
conn.close();
return out_list;
}

定义一个数组存放PARA_NAME、PARA_SYS_DEFAULT_VALUE、PARA_USER_SET_VALUE这三个对象的值

第1个回答  2012-03-12
int currentSize = out_list.size();

Object[] ary = {out_list.get(currentSize -1),out_list.get(currentSize -2),out_list.get(currentSize -3)};

就行了追问

out_list.get(currentSize -1)这个是什么意思。out_list中存放的是查询出来的三个字段的值,共有24条记录,即72个值。数组中每个对象应该有24个值

追答

那你只能在外部处理了
List out_list = new ArrayList();

for(int i= 0; i < 72; i++){
out_list.add(i);
}

Object[] ary1 = out_list.subList(0, 24).toArray(new Object[0]);
Object[] ary2 = out_list.subList(24, 48).toArray(new Object[0]);
Object[] ary3 = out_list.subList(48, 72).toArray(new Object[0]);

追问

while(rs.next()){ out_list.add(rs.getString("PARA_NAME"));
out_list.add(rs.getDouble("PARA_SYS_DEFAULT_VALUE"));
Object[] str = out_list.toArray(new Object[]{rs.getString("PARA_NAME"),rs.getDouble("PARA_SYS_DEFAULT_VALUE")});
System.out.println(str[0]); }
输出:
LX_SEC_RULE_PRICE_FLUCTUATION
…共24条相同此记录…
为什么只输出第一条数据,应该是24条不同的数据才对,错在哪了?

追答

具体你自己debug一下了,估计在你while循环里面的问题

本回答被提问者采纳
第2个回答  2012-03-12
String[] xxxx =(String[]) xxxxxxxx.toArray(new String[0]);
第3个回答  推荐于2018-03-14
List接口了有一个方法 toArray() 那是把List类型转换为字符串数据类型的.转一下不就可以吗?很简单的一个操作啊....本回答被网友采纳