首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将ArrayList<Object>转换为ArrayList<String>?

如何将ArrayList<Object>转换为ArrayList<String>?
EN

Stack Overflow用户
提问于 2011-01-03 08:58:32
回答 10查看 198.5K关注 0票数 102
代码语言:javascript
复制
ArrayList<Object> list = new ArrayList<Object>();
list.add(1);
list.add("Java");
list.add(3.14);
System.out.println(list.toString());

我试过了:

代码语言:javascript
复制
ArrayList<String> list2 = (String)list; 

但它给了我一个编译错误。

EN

回答 10

Stack Overflow用户

发布于 2011-01-03 09:03:45

这样做是不安全的!

想象一下,如果你有:

代码语言:javascript
复制
ArrayList<Object> list = new ArrayList<Object>();
list.add(new Employee("Jonh"));
list.add(new Car("BMW","M3"));
list.add(new Chocolate("Twix"));

将这些对象的列表转换为任何类型都没有意义。

票数 17
EN

Stack Overflow用户

发布于 2015-08-17 16:03:24

使用Java 8,您可以做到:

代码语言:javascript
复制
List<Object> list = ...;
List<String> strList = list.stream()
                           .map( Object::toString )
                           .collect( Collectors.toList() );
票数 15
EN

Stack Overflow用户

发布于 2016-07-05 11:41:54

您可以使用通配符执行此操作,如下所示

代码语言:javascript
复制
ArrayList<String> strList = (ArrayList<String>)(ArrayList<?>)(list);
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4581407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档