我希望使用Java 8的技巧在一行代码中完成以下操作。
假设有如下对象定义:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class MyObj {
private String id;
private Double value;
}
给定一个 List<MyObj>
对象,我想要获取一个 List<String>
objectIds,其中包含第一个列表中所有对象的 id
列表 - 以相同的顺序。
我可以在Java中使用循环来实现这一点,但我相信在Java8中应该有一个一行代码的lambda可以做到这一点。我找不到在线解决方案。也许是我没有使用正确的搜索术语。
是否有人可以建议一个lambda或另一个一行代码的转换方法?
List<String> objectIds = objects.stream().map(MyObj::getId).collect(Collectors.toList());
Getter
?Setter
? - user2357112Lombok
的注解。现在非常普遍。 - Nik