List 如何转换成 String []

问题描述:

我有一个从数据库取回来的结果, 用List 类型保存的, 这个结果只包含一列数据.怎么转换成String []类型?

刚刚开始学java,请多见谅.

[quote]
[code="java"]
List datas = SQL.query("select account from typecompaccount where typeComp = ?", typeComp);
List row = new ArrayList();
String [] s = new String [datas.size()];
Iterator it = datas.iterator();
int i = 0;
while(it.hasNext()){
row.add(((Object[])it.next()));
s[i]=(String)row.get(i)[0];
i++;
}
return s;
[/code]
[/quote]
这个转换应该是可行的,SQL类肯定是对查询做了一般的封装,所以返回的List,List代表记录数量,Object[]代表选择字段,Hibernate里面也有这样的查询接口。

toArray() 就可以了

神啊,你竟然给了20分回答这个问题,眼馋一下,楼上正解。
先判断list大小,然后toArray()就行了。

不是吧,好闊氣啊。。。 :P

if(listobj.size > 0)
{
String[] aa = listobj.toArray();
}

这个问题要从根本上解决,都知道是String类型的了,在取出来的时候就直接用List不就可以了?还有,只有一列数据,怎么会成了List了?

呵呵,估计是要用反射吧,是个通用类,而如果只有1条数据估计就不考虑object,直接搞成String。
其实我一直在怀疑,List是不是写错了,应该是List,哈哈~~~

toArray() 是返回集合中所有元素的数组,怎么可以返回String[]呢?不是很明白