我正在编写Android应用并使用net.sourceforge.streamsupport:streamsupport:1.5.5
我使用嵌入式JDK的Android Studio 2.3.3,源和目标兼容性设置为1.8。
现在我有一个方法引用Light::getColor
,在调用时会调用错误的方法(Light::getColorTemperature
)。
return StreamSupport.stream(lights)
.filter(light -> light.getColorMode().ordinal() >= ColorMode.HUE_SATURATION.ordinal()
.findFirst()
.map(Light::getColor)
.orElse(Color.WHITE);
如果我使用lambda表达式(light -> light.getColor()
),则调用正确的方法:
return StreamSupport.stream(lights)
.filter(light -> light.getColorMode().ordinal() >= ColorMode.HUE_SATURATION.ordinal()
.findFirst()
.map(light -> light.getColor())
.orElse(Color.WHITE);
重新编译整个项目并没有改变任何事情。有没有人见过这个?我不确定这是一个流支持问题还是Android编译器问题,以及如何弄清楚。