我正在学习Java 8的lambda和streams,并尝试一些示例。但是遇到了问题。这是我的代码:
fillUpdate(Person p){
List<Address> notes = getAddress();
notes.stream().filter( addr -> addr !=null).map( this::preparePersonInfo,p,addr);
}
private void preparePersonInfo(Person p, Address addr){
// do some stuff
}
我在 .map 的 addr 字段(第二个参数)遇到编译错误。请问这个错在哪里,并且是否能够提供有关学习 Java 8 流的链接?顺便提一下,我正在按照这个链接 Java 8 lambda 进行操作。
filter( addr -> addr !=null)
可以替换为filter(
Objects::nonNull
)
。请注意,这样不会改变原意,只是使语言更易理解。 - Holger