我想使用Java 8技巧在一行中执行以下操作。
给定此对象定义:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class MyObj {
private String id;
private Double value;
}
和a List<MyObj> objects
,我想得到a List<String> objectIds
,它是第一个列表中所有id
s对象的列表-
顺序相同。
我可以使用Java中的循环来做到这一点,但我相信Java8中应该有一个单行lambda可以做到这一点。我无法在线找到解决方案。也许我没有使用正确的搜索词。
有人可以为这种转换建议一个lambda或另一种线吗?
这应该可以解决问题:
objects.stream().map(MyObj::getId).collect(Collectors.toList());
也就是说, 方法引用 ::
运算符使您可以引用类路径中的任何方法,并将其用作所需操作的lambda。
如评论中所述,流保留顺序。
我可以在Java中使用循环来实现这一点,但我认为在Java8中应该有一个一行程序lambda来实现这一点。我无法在网上找到解决方案。也许我没有使用正确的搜索词。 有人能为这个转换提出一个lambda或另一个一行程序吗?
问题内容: 我有SourceObjects列表,我需要将其转换为ResultObjects列表。 我可以使用ResultObject的方法将一个对象获取到另一个对象: 我当然可以这样: 但对于能够展示如何使用 rxJava 进行相同操作的人,我将非常感激。 问题答案: 如果发出,则可以使用以下运算符: (将您的列表转换为可观察项) (将您的商品转换为其他商品) 运算符(将完成的Observable
问题内容: Json字符串: C#类: C#将json转换为电影的c#列表: 我的变量最终是一个计数为0的空列表。我是否缺少某些内容? 问题答案: 您的C#类映射与json结构不匹配。 解决方案:
问题内容: 我的DAO中有一个hibernate的呼叫,看起来像这样 我收到一条错误消息,说我无法将结果列表转换为模型类型“关联”。我不明白为什么会这样。我只返回关联表中的字段。 问题答案: 您需要使用来指定要转换为结果的实体类,因为您正在执行对实体一无所知的SQL查询: 也可以看看: 18.1.2。实体查询
我需要使用特定对象的属性(