为了使用 Java 8 功能,我在应用的 build.gradle 文件中添加了 coreLibraryDesugaringEnabled true
和 coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
。
但是在运行单元测试时,会抛出空指针异常。
我正在尝试使用 putIfAbsent
。
在测试中使用它时也会抛出 NPE。
产生错误的简单代码。
@Test
fun testNPE(){
val map = mutableMapOf<String, Int>()
val mutableList = map.putIfAbsent("1", 1)!!
}
当我用 kotlin 的扩展函数 putIfAbsent
替换 getOrPut
时测试通过,这是有道理的。
应用的默认配置
minSdkVersion 22
targetSdkVersion 30
我不知道我在这里做错了什么。