【发布时间】:2021-01-02 00:26:52
【问题描述】:
所以我知道要进行迭代,我可以使用 for-each 或 Iterator。但我的问题是我想通过按条件删除一些元素来创建一个相同类型的新列表。 例如-
List<? extends E> myList;
List<? extends E> newList = new ArrayList<>();
for(E element: myList) {
if(element.getName().equals("abc")) {
newList.add(element); // would throw an error because the list is of a different type.
}
}
我该怎么做?有什么不同的方法来解决这个问题吗?
【问题讨论】:
-
将结果声明为
List<? extends E> newList是没有意义的。只需使用List<E> newList。 -
唯一的好处是类型匹配输入。如果您需要将列表传递回您从哪里获得输入,那么 可能 是相关的。
标签: java list arraylist collections extends