// List 轉 陣列
String[] strArr = {"apple","pear","banana","peach"};
List<String> list = Arrays.asList(strArr);
// 陣列 轉 List
String[] arr = (String[]) list.toArray();
for(int i=0;i<4;i++) {
System.out.print(strArr[i]);
System.out.println();
}
uj5u.com熱心網友回復:
報錯顯示是第6行代碼出錯uj5u.com熱心網友回復:
應該是 String[] arr = list.toArray(new String[list.size()]);或者是 String[] arr = new String[al.size()];
list.toArray(arr);
uj5u.com熱心網友回復:
代碼試了,沒有問題,截圖報錯看看uj5u.com熱心網友回復:
Exception in thread "main" java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.String; ([Ljava.lang.Object; and [Ljava.lang.String; are in module java.base of loader 'bootstrap')
at hjcProject/text.text4.main(text4.java:19)
報錯代碼
uj5u.com熱心網友回復:
String[] arr = (String[]) list.toArray(); 這行錯了uj5u.com熱心網友回復:
為什么會型別轉換例外,toArray()在這個方法不就是list轉換成陣列的嗎uj5u.com熱心網友回復:

我本地是完全OK的,
你的報錯是因為Object[]無法強轉成String[]
uj5u.com熱心網友回復:
Object[] arr = list.toArray();你這樣就可以,
uj5u.com熱心網友回復:
為什么會無法轉換?我看我的代碼跟你的差不多
uj5u.com熱心網友回復:
用你這方法可以了,無法轉換原因是什么?
uj5u.com熱心網友回復:
老哥原因是什么?為什么無法轉換
uj5u.com熱心網友回復:
toArray()這個方法回傳的是Object型別 , String 轉Object是可以的,但是Object強轉String是不可以的。
uj5u.com熱心網友回復:
String[] arr = (String[]) list.toArray(); 這行錯了
老哥原因是什么?為什么無法轉換
你是把object[] 轉String[],這個大佬說得挺清楚
https://blog.csdn.net/hhhebbb/article/details/88813769
uj5u.com熱心網友回復:
toArray 方法不加引數回傳的是object型別,toArray可以加引數,該引數可以用來指定回傳型別,你可以加個需要的同型別引數。String[] arr = list.toArray(new String[0]);
uj5u.com熱心網友回復:
String[] arr = (String[]) list.toArray(); 這行錯了
老哥原因是什么?為什么無法轉換
toArray()這個方法回傳的是Object型別 , String 轉Object是可以的,但是Object強轉String是不可以的。
懂了,但是7樓的也是強轉,為什么他的能運行
uj5u.com熱心網友回復:
我本地是完全OK的,
你的報錯是因為Object[]無法強轉成String[]
為什么會無法轉換?我看我的代碼跟你的差不多
有可能是jdk版本原因?我jdk是1.8的
uj5u.com熱心網友回復:
List<String> list = Arrays.asList(strArr); 其實是你這行 Arrays 引錯了包uj5u.com熱心網友回復:
看不懂,看不懂uj5u.com熱心網友回復:
我的也沒問題, 就是你的代碼原封不動, 我是jdk1.8uj5u.com熱心網友回復:
看不懂.看不懂uj5u.com熱心網友回復:
6 行 toArray() 回傳時Object[] 型別uj5u.com熱心網友回復:
看看我的排名。uj5u.com熱心網友回復:
我也想學學。uj5u.com熱心網友回復:
哈哈,java 原來會挑人下飯!uj5u.com熱心網友回復:
懂了,但是7樓的也是強轉,為什么他的能運行
他應該只是能通過編譯吧,運行肯定報錯。
uj5u.com熱心網友回復:
不知道啊我就一個小白uj5u.com熱心網友回復:
final String[] item = (String[]) list2.toArray(new String[list2.size()]);list2是集合 這樣 就轉成陣列了 你可以試試我這個 奧利給 干就完了
uj5u.com熱心網友回復:
一樣的問題哦uj5u.com熱心網友回復:
應該沒問題啊?uj5u.com熱心網友回復:
toArray()在這個方法就是list轉換成陣列的uj5u.com熱心網友回復:
看不懂,沒有代碼問題感覺轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/78938.html
標籤:Java相關
上一篇:poi匯出
