相关疑难解决方法(0)

是否可以在Android API <24上使用Java 8 Stream API?

我在这里看过这篇文章.但我仍然无法在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

那么有人知道解决方案吗?

java android java-8 java-stream

80
推荐指数
4
解决办法
3万
查看次数

为什么在Java中实现返回单元的Kotlin函数时必须返回Unit.INSTANCE?

如果我有Kotlin功能

fun f(cb: (Int) -> Unit)
Run Code Online (Sandbox Code Playgroud)

我想用fJava 调用,我必须这样做:

f(i -> {
     dosomething();
     return Unit.INSTANCE;
});
Run Code Online (Sandbox Code Playgroud)

这看起来很丑陋.为什么我不能这样写f(i -> dosomething());,因为Unit在Kotlin中相当于voidJava?

java kotlin kotlin-interop

38
推荐指数
1
解决办法
9341
查看次数

Java 8是否适用于Android api 24及更高版本或者您可以在较低的api中使用?

在基于此页面的android中,Java 8语言功能仅在api 24及以上版本中运行,或者你可以在api低于api 24使用,如果你能使用这个功能,那么android中最小的api版本支持这些功能

lambda android android-7.0-nougat

15
推荐指数
2
解决办法
9880
查看次数