[問題] 從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