我想将Java 7代码重构为Java 8。
这里是Java 7代码:
List<A> aList = new ArrayList<>();
for (B b : bList) {
D d = new D(b.getSomeWhat());
d.setDisabled(true);
aList.add(d);
}
我在Java 8中尝试这个:
bList.stream().map(b -> {
D d = new new D(b.getSomeWhat());
d.setDisabled(true);
}).collect(Collectors.toList());
我有missisng return statement
错误。
如何使用Java 8流编写代码?
答案 0 :(得分:7)
在地图中返回jQuery
:
d
答案 1 :(得分:2)
您的代码中存在两个问题:
() - {}
构造需要return语句d.setDisabled(true)
返回void。你可以这样做:
bList.stream()
.map(B::getSomeWhat)
.map(D::new)
.map(d -> {
d.setDisabled(true);
return d;
}).collect(Collectors.toList());