【问题标题】:Java-8 stream get allJava-8 流获取所有
【发布时间】:2016-04-01 08:09:30
【问题描述】:

我有一个对象列表,我将简单地获取列表中所有对象的属性。 我知道它很简单,但实际上我还没有找到如何做到这一点:

List<MyObject> myObjects = ...

MyOblect myObject = new ...
myObject.myProperty = ...

我的做法:

myObjects.stream().findAll(s -> s.getMyProperty())...

【问题讨论】:

  • “获取所有对象的属性”是什么意思?如果您的列表有 n 个对象,则该属性有 n 个值。除此之外,您的问题可能源于您对“查找”一词的延伸。也许你想收集值而不是......
  • myObjects.stream().map(s -> s.getMyProperty()).collect(Collectors.toList()) - 您将获得所有对象的 myProperty 列表

标签: java-8


【解决方案1】:

您可能正在搜索mapcollect 方法:

List<T> list = myObjects.stream().map(s -> s.getMyProperty()).collect(Collectors.toList());

【讨论】:

  • List> 作为返回类型将使代码编译
  • 另外,你可以像这样“简化”这个:myObjects.stream().map(MyObject::getMyProperty).collect(Collectors.toList());
猜你喜欢
  • 1970-01-01
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 2023-03-19
相关资源
最近更新 更多