从列表中的对象获取参数

时间:2012-08-28 13:45:00

标签: java closures

在Java中有没有一种很好的方法从列表中的对象读取参数?例如,我经常想要在我的对象中获取属于列表的所有ID。我通常为此编写的代码如下所示。

List<Integer> ids = new ArrayList<Integer>();
for (MyObject myObj : myObjs){
    ids.add(myObj.getId());
}

有没有其他方法可以做到这一点或任何其他模式?或者我只是等待(正确)闭包出现在java中。我想要的只是一行返回列表中一个参数的所有值的列表。

由于

1 个答案:

答案 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>课程