如何将列表<字符串>转换为列表<对象>

2022-08-31 20:05:11

我想转换为 .List<String>List<Object>

其中一个现有方法正在返回,我想将其转换为.在Java中,除了逐个元素迭代和转换之外,有没有直接的方法?List<String>List<Object>


答案 1

将 作为参数传递给新 .List<String>ArrayList<Object>

List<Object> objectList = new ArrayList<Object>(stringList);

Any 都可以作为参数传递给构造函数,只要其类型扩展了 的类型,as extends 。构造函数采用 ,但却是 的子接口,因此您只能使用 。CollectionArrayListStringObjectCollectionListCollectionList<String>


答案 2

任何java集合都只是对象的集合,无论是字符串还是其他对象。类型参数只是糖。根据具体情况,例如处理非常大的列表,您可能只想转换它 - 显然有可能在同一列表中混合两种不同类型的对象。

List<Object> objectList = (List)stringList;

并放一个@SuppressWarning来摆脱讨厌的东西...


推荐