我在这里看过这篇文章.但我仍然无法在minSdkVersion <24上运行包含Java 8 Stream API功能的代码,如下所示.
List<Car> newCars = cars.stream()
.filter(s -> s.getColor().equals("red"))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
由于错误消息,这不会运行
调用需要API级别24(当前最小值为15):java.util.Collection #stream
那么有人知道解决方案吗?
如果我有Kotlin功能
fun f(cb: (Int) -> Unit)
Run Code Online (Sandbox Code Playgroud)
我想用f
Java 调用,我必须这样做:
f(i -> {
dosomething();
return Unit.INSTANCE;
});
Run Code Online (Sandbox Code Playgroud)
这看起来很丑陋.为什么我不能这样写f(i -> dosomething());
,因为Unit
在Kotlin中相当于void
Java?
在基于此页面的android中,Java 8语言功能仅在api 24及以上版本中运行,或者你可以在api低于api 24使用,如果你能使用这个功能,那么android中最小的api版本支持这些功能