我需要有关将lambda表达式更改为方法引用的帮助:
lambda表达式:
intervalCodes.stream().forEach(code -> {
modProfile.addIntervalUsageCode(createIntervalCode(code));
});
我可以将上面的表达式更改为:
intervalCodes.stream().forEach(modProfile::addIntervalUsageCode(createIntervalCode));
有什么建议吗?
答案 0 :(得分:5)
假设createIntervalCode()
是一个无副作用的实例方法,您可以将lambda拆分为两个方法引用:
intervalCodes.stream()
.map(this::createIntervalCode)
.forEach(modProfile::addIntervalUsageCode);
如果是静态方法,请使用ClassName::createIntervalCode
。