java – 收集集合中对象的属性
发布时间:2020-05-25 16:51:26 所属栏目:Java 来源:互联网
导读:在C#中,我可以这样做: IEnumerablelong ids = things.select(x = x.Id); 在Java中我必须这样做: CollectionLong ids = new ArrayListLong(things.size());for(Thing x : things) ids.add(x.getId()); 现在必须做很多这样的事情并且想知道在J
|
在C#中,我可以这样做: IEnumerable<long> ids = things.select(x => x.Id); 在Java中我必须这样做: Collection<Long> ids = new ArrayList<Long>(things.size()); for(Thing x : things) ids.add(x.getId()); 现在必须做很多这样的事情并且想知道在Java中是否有更通用的方法来做这件事.可以创建一个方法来做到这一点,但后来我将不得不添加一个getId方法的接口或类似的…我不能… 解决方法使用 Guava,特别是 function interface:public class ThingFunction implements Function<Thing,Long> {
@Override
public Long apply(Thing thing) {
return user.getId();
}
}
并且像这样调用(其中transform是来自guava的Collections2的静态导入: Collection<Long> ids = transform(things,new ThingFunction()); 番石榴也有相当多的other benefits. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
