[问题] 从Arrays.Arraylist取值

楼主: lueichun (no anonymous)   2017-08-16 18:43:48
我现在有ㄧ个Arrays.ArrayList:
https://1drv.ms/i/s!Av6NUY4H7zPalX7z6b-NhkrFgtRe
红框框起来的物件 里面有个string array 我想要取出里面的2个值
但是我试过像
nopIdList = Arrays.asList(nopIdList.get(0));
String[] nopIds = (String[])nopIdList.get(0);
先取出index=0的arrayList 再取出string array
但到取出string array这一行就会出错
java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to
[Ljava.lang.String;
请问到底该怎么取出string array的值呢
作者: pttworld (批踢踢世界)   2017-08-16 19:13:00
用个括号把list和get(0)括起来试试
作者: maxsho (沉默的熊)   2017-08-16 19:17:00
把(String[])去掉试试看
作者: ssccg (23)   2017-08-16 19:58:00
你这整段程式不知道在干麻,看着debug里面列的物件私有字段在写程式? 还有干麻用Arrays.asList去做无谓的包装?form.getValue("NOP_ID")不知道type是什么,不过我猜不是*我猜是List<String>,经过第一次包装变List<List<String>>然后你第一行get(0)是个List<String>再用一次asList又变成List<List<String>>,再来get(0)出来是个List<String>当然不能转成String[]Arrays$ArrayList是个List的实作,里面那个a是私有字段,是实作细节,从外部看并不是里面有个string array如果一开始的form.getValue的type真的是List<String>,然后需要array那就toArray就好,要取元素直接get,要取array元素用[],根本看不出哪边需要asList

Links booklink

Contact Us: admin [ a t ] ucptt.com