当前位置:   article > 正文

在低版本Android中使用Java Stream功能

android 不支持java 中的stream流

一直使用Java8的Stream功能来简化代码,比如如下的操作:

double num = list.stream().filter(t -> !StringUtils.isEmpty(t.字段名)).count();

Android 11等高版本中没有问题,但运行在Android 6中就报错了,提示:No interface method stream()...

很显然低版本Android并不支持Java Stream功能,为了让其支持该功能,需要做一些额外的设置,官方称为“脱糖”。链接:

在应用模块的build.gradle中添加如下代码同步编译即可:
  1. android {
  2. defaultConfig {
  3. // Required when setting minSdkVersion to 20 or lower
  4. multiDexEnabled true
  5. }
  6. compileOptions {
  7. // Flag to enable support for the new language APIs
  8. coreLibraryDesugaringEnabled true
  9. // Sets Java compatibility to Java 8
  10. sourceCompatibility JavaVersion.VERSION_1_8
  11. targetCompatibility JavaVersion.VERSION_1_8
  12. }
  13. }
  14. dependencies {
  15. coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.4'
  16. }
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号