在Java中有没有一种很好的方法从列表中的对象读取参数?例如,我经常想要在我的对象中获取属于列表的所有ID。我通常为此编写的代码如下所示。
List<Integer> ids = new ArrayList<Integer>();
for (MyObject myObj : myObjs){
ids.add(myObj.getId());
}
有没有其他方法可以做到这一点或任何其他模式?或者我只是等待(正确)闭包出现在java中。我想要的只是一行返回列表中一个参数的所有值的列表。
由于
答案 0 :(得分:1)
番石榴Lists.transform
:
final List<Integer> ids = Lists.transform(myObjs, new Function<MyObject, Long>() {
public Long apply(final MyObject input) {
return input.getId();
}
});
编辑:您还可以使用实施ToId
Function<F, T>
课程