Supported Java 8 Language Features and APIs指出我们可以在具有任何最低 sdk API 级别的 android 项目中使用默认方法和 lambda 表达式。
但是,Stream 库 (java.util.stream) 仅支持 API 24 及更高版本。有人可以阐明为什么会这样吗?对我来说这没有意义,因为据我了解,与添加 lambda 或默认方法不同,添加流 API 不需要需要修改 JVM;它只是利用了 Java 8 的特性,比如集合的默认方法,并向 java util 库添加了一些新代码?
最佳答案
Can somebody please shed some light on why this is the case?
因为谷歌没有时光机。或者,即使是,他们也不会使用它来“重新识别”以前版本的 Android。
it simply leverages Java 8 features like default methods on collections and adds some new code to java util library?
正确。但是,Google 无法更改旧版 Android 上的 java.util
类。即使通过库添加新的 java.util
类也是一个问题。
关于java - 为什么 Java 8 Streams 只能从 API 级别 24 开始使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49695326/