提问者:小点点

Android是否降低了minSdkVersion<24的Java 8 Iterable.forEach()?


听到Google的脱糖项目我很兴奋,因为我必须支持minSdkVersion 17

我继续尝试了一个简单的Java 8示例:

List<String> myList = Arrays.asList("element1","element2","element3");
myList.forEach(element -> System.out.println(element));

然而,Android Studio表示<code>调用需要API级别24(当前最小值为17):java.lang.Iterable#forEach</code>

Google发布了一个关于支持哪些功能的表格。他们的文档是否提到任何minSdkVersion是否支持< code>Iterable.forEach()?


共2个答案

匿名用户

< code>forEach使用< code>java.util.function中的类型,该类型仅在API级别24或更高级别上受支持(带去糖)。

有一些库添加了对流的支持。有关详细信息,请参阅此答案。

匿名用户

通过脱糖支持Iterable#foreach。有一个参考表,您可以搜索脱糖支持 Java 8个API: https://developer.android.com/studio/write/java8-support-table.

只需按照Java 8 API去糖支持的文档进行设置。