Pregunta ¿Por qué Java 8 Streams solo está disponible desde el nivel 24 de API?


API y características de lenguaje Java 8 soportadas afirma que podemos usar métodos predeterminados y expresiones lambda en proyectos de Android con cualquier nivel mínimo de API sdk.

Sin embargo, la biblioteca Stream (java.util.stream) solo es compatible con API 24 y superior. ¿Alguien puede aclarar por qué este es el caso? Para mí no tiene sentido, porque, según tengo entendido, la adición de la API de flujo sí lo hace. no requiere una modificación de JVM a diferencia de la adición de métodos lambdas o predeterminados; ¿simplemente aprovecha las características de Java 8 como los métodos predeterminados en las colecciones y agrega algún código nuevo a la biblioteca de Java?


5
2018-04-06 14:42


origen


Respuestas:


¿Alguien puede aclarar por qué este es el caso?

Porque Google no tiene una máquina del tiempo. O, si lo están, no lo están utilizando para "volver a configurar" las versiones anteriores de Android.

¿simplemente aprovecha las características de Java 8 como los métodos predeterminados en las colecciones y agrega algún código nuevo a la biblioteca de Java?

Correcto. Sin embargo, Google no tiene medios para cambiar java.util Clases sobre versiones anteriores de Android. Incluso añadiendo nuevo java.util Las clases a través de una biblioteca serían un problema.


6
2018-04-06 14:54