听到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()?
< 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去糖支持的文档进行设置。