Object[] 如何转化为String[]?

rcrain 2009-12-29 09:37:24
Object[] 如何转化为String[]?利用泛型也不行,示例代码如下:
java.util.ArrayList<String> urlList=new java.util.ArrayList<String>();
String[] seeds=urlList.toArray();
应该怎么做?请大家帮忙!谢谢!
...全文
499 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
micsolaris 2010-01-04
  • 打赏
  • 举报
回复

import java.util.List;
import java.util.ArrayList;
/*
*泛型在运行的时候是类型相同的。所以可以通过如下的方式来处理
*/
public class Test{
public static void main(String[] args){
List<Object> oList = null;
List<String> sList = new ArrayList<String>();
sList.add("first");
sList.add("second");
Object o = (Object)sList;
oList = (List<Object>)o;
Object[] os = oList.toArray();
for(Object oItem : os){
System.out.println(oItem);
}
}
}
卡卡1314 2010-01-04
  • 打赏
  • 举报
回复
学习了,应该也可以对每个对象进行强转
goodlucktomyself 2010-01-03
  • 打赏
  • 举报
回复
List<String> list = new ArrayList<String>();
for(Object s : strArr){
list.add(s.toString());
}
Object[] strArr1 = list.toArray(new String[0]);
榨菜大叔@ 2010-01-03
  • 打赏
  • 举报
回复
学习!
kexin520 2010-01-02
  • 打赏
  • 举报
回复
en ,up
healer_kx 2009-12-31
  • 打赏
  • 举报
回复
为什么还不结贴?
jimoxing2006 2009-12-31
  • 打赏
  • 举报
回复
Object [] o = {};
String [] s = (String [])o ;
zhangwenmin 2009-12-31
  • 打赏
  • 举报
回复
学习
luwei3813931 2009-12-31
  • 打赏
  • 举报
回复
toArray(T[] a)
return is <T> T[]
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
fish88168 2009-12-31
  • 打赏
  • 举报
回复
学习了
huangyulin2015 2009-12-31
  • 打赏
  • 举报
回复
学习····
dudongxiao 2009-12-31
  • 打赏
  • 举报
回复
学习了
Z_FEI 2009-12-31
  • 打赏
  • 举报
回复
up
crazylaa 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 healer_kx 的回复:]
String[] seeds=urlList.toArray(new String[0]);

[/Quote]
正解。
,ArrayList的toArray里面要指定想扔到哪个数组的!
weiminan 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 xiesisi3 的回复:]
引用 11 楼 jungle1171 的回复:
Java codeprivatevoid test14(){
        List <Object> objList=new ArrayList <Object>();
        objList.add("A");
        objList.add("B");
        objList.add("C");
        objList.add("D");
        objList.add("E");
        String[] strArray= {"a","b","c","d","e","f","g"};
        String[] strList=objList.toArray(strArray);for(String s:strList){
            System.out.println(s);
        }
    }
打印出来是:
A
B
C
D
E
null
g
---------------------
看了看JDK代码,也是这么写的。
谁能解释下为什么要在拷贝数组之后的第一个位置置为null?



看API

public <T> T[] toArray(T[] a)按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。如果指定的数组能容纳列表,则将该列表返回此处。否则,将分配一个具有指定数组的运行时类型和此列表大小的新数组。
如果指定的数组能容纳队列,并有剩余的空间(即数组的元素比队列多),那么会将数组中紧接 collection 尾部的元素设置为 null。(仅 在调用者知道列表中不包含任何 null 元素时才能用此方法确定列表长度)。


指定者:
接口 Collection <E> 中的 toArray
指定者:
接口 List <E> 中的 toArray
覆盖:
类 AbstractCollection <E> 中的 toArray
参数:
a - 要在其中存储列表元素的数组(如果它足够大);否则,为此分配一个具有相同运行时类型的新数组。
返回:
包含列表元素的数组
抛出:
ArrayStoreException - 如果指定数组的运行时类型不是此列表每个元素的运行时类型的超类型
NullPointerException - 如果指定数组为 null

[/Quote]

对为什么是Null的解释,还是不太理解唉!!
wenjjing2lianee 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 xiesisi3 的回复:]
引用 11 楼 jungle1171 的回复:
Java codeprivatevoid test14(){
        List <Object> objList=new ArrayList <Object>();
        objList.add("A");
        objList.add("B");
        objList.add("C");
        objList.add("D");
        objList.add("E");
        String[] strArray= {"a","b","c","d","e","f","g"};
        String[] strList=objList.toArray(strArray);for(String s:strList){
            System.out.println(s);
        }
    }
打印出来是:
A
B
C
D
E
null
g
---------------------
看了看JDK代码,也是这么写的。
谁能解释下为什么要在拷贝数组之后的第一个位置置为null?



看API

public <T> T[] toArray(T[] a)按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。如果指定的数组能容纳列表,则将该列表返回此处。否则,将分配一个具有指定数组的运行时类型和此列表大小的新数组。
如果指定的数组能容纳队列,并有剩余的空间(即数组的元素比队列多),那么会将数组中紧接 collection 尾部的元素设置为 null。(仅 在调用者知道列表中不包含任何 null 元素时才能用此方法确定列表长度)。


指定者:
接口 Collection <E> 中的 toArray
指定者:
接口 List <E> 中的 toArray
覆盖:
类 AbstractCollection <E> 中的 toArray
参数:
a - 要在其中存储列表元素的数组(如果它足够大);否则,为此分配一个具有相同运行时类型的新数组。
返回:
包含列表元素的数组
抛出:
ArrayStoreException - 如果指定数组的运行时类型不是此列表每个元素的运行时类型的超类型
NullPointerException - 如果指定数组为 null

[/Quote]

很好
牛叔 2009-12-30
  • 打赏
  • 举报
回复
大家都同意2楼
李子做IT 2009-12-30
  • 打赏
  • 举报
回复
那参数中的0,也可以是 1,2,3...咯?
李子做IT 2009-12-30
  • 打赏
  • 举报
回复
学习ing,参数为类型匹配.
hzq237 2009-12-30
  • 打赏
  • 举报
回复
学习
加载更多回复(14)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧