Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android N中的Java8流API_Java_Android_Lambda_Android 7.0 Nougat - Fatal编程技术网

Android N中的Java8流API

Android N中的Java8流API,java,android,lambda,android-7.0-nougat,Java,Android,Lambda,Android 7.0 Nougat,据介绍,从安卓N开始,安卓API应该支持Java流 但是,使用安卓N预览SDK,我无法在我的项目中使用任何流API(该项目的最低配置为安卓N,目标和构建SDK版本) java.util.stream包似乎丢失了,我尝试过的所有集合实现的stream()方法也是如此 必要的类是否尚未包含在SDK的当前预览版本中?它尚未包含在当前预览版本中,但已合并到AOSP Git master中。看这里 编辑: 为了避免可能出现的混淆:2016年3月,OP提出了这个问题,Android N developerp

据介绍,从安卓N开始,安卓API应该支持Java流

但是,使用安卓N预览SDK,我无法在我的项目中使用任何流API(该项目的最低配置为安卓N,目标和构建SDK版本)

java.util.stream
包似乎丢失了,我尝试过的所有集合实现的
stream()
方法也是如此


必要的类是否尚未包含在SDK的当前预览版本中?

它尚未包含在当前预览版本中,但已合并到AOSP Git master中。看这里

编辑:

为了避免可能出现的混淆:2016年3月,OP提出了这个问题,Android N developer
preview-1
是目前已知的Android 7.0“牛轧糖”的唯一公开版本

preview-1
build实际上不包括Java8流API,但它是在开发人员
preview-2
build之后不久(一个月后)添加的


因此,Android 7.0 API level 24现在是否支持Java 8 Stream API。

Java 8的所有功能都不受支持,有些功能只在预览版中受支持。因此Android开发者的博文不正确?它明确声明“默认和静态方法、流和函数接口——现在在N和更高版本上也可用”。这是根据开发者的文档。流API不是Java 8语言的特性(由新的Jack编译器实现,可用于早期的Android目标)。它将在Android SDK中作为一组接口和实现类提供。请区分Java语言、字节码和库功能。例如,Jack(顺便说一句,它已经可用并且工作正常)编译Lambdas的方式与Dalvik的旧版本向后兼容。(作为比较,“真正”的JDK使用Java 7字节码功能(InvokedDynamic)和Java 8类(LambdaMetafactory)实现它们。)另一方面,即使在android上,Streams也是一个库功能,仅对N+可用。请更新您的答案-最新版本的android 7.0 SDK平台中包含了Stream API(API 24)。