【发布时间】:2016-04-02 17:38:22
【问题描述】:
我正在开发一个基于 Spring Batch、Spring Boot、slf4j 和 Java 8 的简单应用程序。我想尽可能多地使用 lambda 来进行学习。 “myPojos.stream()forEach((myPojo)-> {log.info(myPojo);});”有什么问题以下?消息抱怨“...不适用于参数<? extends MyPojo”。请注意,所有其他三个日志行都正常工作。
public class CustomItemWriter implements ItemWriter<MyPojo> {
private static final Logger log = LoggerFactory.getLogger(CustomItemWriter.class);
@Override
public void write(List<? extends MyPojo> myPojos) throws Exception{
myPojos.stream().forEach((myPojo)-> {log.info(myPojo);});//error
myPojos.forEach(System.out::println);//it works
myPojos.stream().forEach((myPojo) -> {System.out.println(myPojo);}); //it works
log.info("finish"); //it works
}
}
【问题讨论】:
标签: java lambda java-8 log4j slf4j