日期:2014-05-20  浏览次数:20841 次

java中List的值赋给字符型数组的问题
本帖最后由 hc1104 于 2013-01-06 11:26:45 编辑

List factList=(List)request.getAttribute("factList");//读取厂商信息List
String FactNameTel[] = {};
//List中已有的结果[[4B7323DB243147E58A70D07B883EC745, X光设像系统, 2010-04-01, 2013-03-31, 北京富和嘉士科技有限公司, 010-67164646, 在保], null, null, null, null, null, null, null, null, null]
if(factList!=null&&factList.size()>0)
FactNameTel=(String[])factList.get(0);//List中的首条信息无法赋值给数组

预期结果:
String[] FactNameTel={4B7323DB243147E58A70D07B883EC745, X光设像系统, 2010-04-01, 2013-03-31, 北京富和嘉士科技有限公司, 010-67164646, 在保}

但现在数组中仍然为空。

------解决方案--------------------
楼主这样试试:
    FactNameTel=((String)factList.get(0)).split(",");//List中的首条信息无法赋值给数组
------解决方案--------------------
factList里还放的list吗


List fact = (List) factList.get(0);
FactNameTel = (String[]) fact.toArray();


这样?
------解决方案--------------------
首先要弄清楚factList里边放的元素是什么类型,如果不是字符串数组类型,你强制转换肯定取不到值,
在request中放入List<String []>类型试试,还没试过。。。
------解决方案--------------------
引用:
本帖最后由 hc1104 于 2013-01-06 11:26:45 编辑
            Objective C code?12345List factList=(List)request.getAttribute("factList");//读取厂商信息ListString FactNameTel[] = {};//List中已有的结果[[4B7323……

晕了,哪有你这样强转的,直接把String[] 转成list肯定不行的。
你增强for循环遍历一遍String[] str然后添加到List里面。
for(Object o:str){
list.add(o);
}
------解决方案--------------------
楼主到底想干嘛,是要把整个list变成数组还是list的某个元素变成数组?
------解决方案--------------------
引用:
楼主到底想干嘛,是要把整个list变成数组还是list的某个元素变成数组?


就是啊,我也晕了
------解决方案--------------------
我只是很想知道 你factList里面的值类型到底是怎么样的
------解决方案--------------------
貌似先要判断那个list!=null&&!list.isEmpty(),然后才轮到赋值问题,如果之前的条件成立且没有任何异常,那就说明list的第一个元素就是null。