【问题标题】:Get Parameter from an object in a list从列表中的对象获取参数
【发布时间】:2012-08-28 13:44:59
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 如果你经常这样做,你可以为此制作一个实用方法。
  • 试试lambdaj

标签: java closures


【解决方案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&lt;F, T&gt;

【讨论】:

  • 唯一的缺点是代码更长,可能更慢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-28
  • 2019-05-08
相关资源
最近更新 更多