java中 我想把集合转化为数组
java中我想把集合转化为数组List<String>list=newArrayListString[]str=(String[])list.toArray为什么前面语言...
java中 我想把集合转化为数组List<String> list=new ArrayList
String[] str=(String [])list.toArray
为什么前面语言添加String[]
是java规定的还是有什么特殊原因吗?
toArray不就是将集合转化为数组吗?
为什么还要强转呢? 展开
String[] str=(String [])list.toArray
为什么前面语言添加String[]
是java规定的还是有什么特殊原因吗?
toArray不就是将集合转化为数组吗?
为什么还要强转呢? 展开
3个回答
展开全部
List<String> list=new ArrayList<String>();
list.add("aa");
list.add("bb");
String[] targetArr=new String[list.size()];
list.toArray(targetArr);
for(String s:targetArr){
System.out.println(s);
}
推荐上面这样写。要是按你那这样写的话,转完是Object[] arr,如果这个时候你把它强制转为String[] 类型会报错。
展开全部
list.toArray()返回的是Object[]对象,所以要强制转换成String[]才能赋值给String[] str
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String[] str=list.toArray;你直接这样写的时候报错了额然后你加了强转(String [])对吧?
首先你的list集合要是里面有数据的话 你可以尝试这样写String[] str=list.toArray(new String[list.size()]); 看看行不行
首先你的list集合要是里面有数据的话 你可以尝试这样写String[] str=list.toArray(new String[list.size()]); 看看行不行
更多追问追答
追问
我知道这么写是可以的 我想知道第一种为啥不行
追答
有人回答了呢 toArray()返回的不是string型的数组 要强制转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询