如何解决可为空的接收器错误的不安全使用?

时间:2019-11-07 02:03:48

标签: android kotlin

代码A来自camera-samples

但是Android Studio编译器会显示以下警告信息

是否不安全地使用Array类型的可为空的接收器?

我该如何解决?

代码A

private lateinit var mediaList: MutableList<File>

override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)  
        val rootDirectory = File(args.rootDirectory)

        mediaList = rootDirectory.listFiles { file ->
            EXTENSION_WHITELIST.contains(file.extension.toUpperCase())
        }.sorted().reversed().toMutableList()
    }

2 个答案:

答案 0 :(得分:2)

尽管我无法重现您的问题,但是您可以尝试在对象的末尾添加?,该对象不是100%不为空。

此后,如果object实际上为空(提供默认值),则需要处理这种情况。

例如:

val list: List<String>? = null
val firstValue = list?.first() ?: "default value"

在上面的示例中,代码不会仅使用list.first()

进行编译

希望这会有所帮助。

答案 1 :(得分:1)

尝试添加ARRAY DATA RECEIVED:[TeamListData(userid: Optional("1"), firstname: Optional(“abc”), designation: Optional("Analyst"), profileimage: Optional(“url.jpg"), isSelected: true), TeamListData(userid: Optional(“2”), firstname: Optional(“def”), designation: Optional("Executive"), profileimage: Optional(“url.jpg"), isSelected: true)] 支票

isInitialized