ArrayList<Object> list = new ArrayList<Object>();
list.add(1);
list.add("Java");
list.add(3.14);
System.out.println(list.toString());
我试过了:
ArrayList<String> list2 = (String)list;
但它给了我一个编译错误。
发布于 2011-01-03 09:03:45
这样做是不安全的!
想象一下,如果你有:
ArrayList<Object> list = new ArrayList<Object>();
list.add(new Employee("Jonh"));
list.add(new Car("BMW","M3"));
list.add(new Chocolate("Twix"));
将这些对象的列表转换为任何类型都没有意义。
发布于 2015-08-17 16:03:24
使用Java 8,您可以做到:
List<Object> list = ...;
List<String> strList = list.stream()
.map( Object::toString )
.collect( Collectors.toList() );
发布于 2016-07-05 11:41:54
您可以使用通配符执行此操作,如下所示
ArrayList<String> strList = (ArrayList<String>)(ArrayList<?>)(list);
https://stackoverflow.com/questions/4581407
复制相似问题