1
  • 最佳答案

    这个是编译器的问题,他没有联想到前面已经做了非空判断

    可以在intType后面加上两个!!,表示由开发者确保不会出现空指针

    再保险点,外面再try{}catch一下

    1302969105866940416  评论     打赏       波鲁萨利诺.黄猿
    • Cstri  回复 @波鲁萨利诺.黄猿
      加了!!, 也不行欸,还是如此, composable里面没法使用 try caych
      Cstri 2022-08-23 11:23   回复 1342082010843308032
    • 波鲁萨利诺.黄猿  回复 @Cstri
      https://blog.csdn.net/u010368726/article/details/122285884 用runcatching试试
      波鲁萨利诺.黄猿 2022-08-23 11:35   回复 1302969105866940416
    • Cstri  回复 @波鲁萨利诺.黄猿
      这个方法可行,奇怪的是,捕获到异常:还是那个错误,但是页面却是有数据的
      Cstri 2022-08-23 11:43   回复 1342082010843308032
  • val stateValue = colorStateList.value ?: "默认值"
    
    val intType = object : TypeToken<ArrayList<Int>>() {}.type
        val dataList: ArrayList<Int> = gson.fromJson(stateValue, intType)
        selectedDataList = dataList
    
    1139423796017500160  评论     打赏       断点
    • Cstri  回复 @断点
      老实说,加了默认值有时候也会出现这种情况(之前遇到过,真的百思不得其解),所以我才改成空值,做下判断... 太难了 val list = ArrayList<Int>(listOf(0, 1, 2)) val colorStateList = storeManager.getSelectedApp.collectAsState(list)
      Cstri 2022-08-23 11:27   回复 1342082010843308032
    • 断点  回复 @Cstri
      他要的是JSON格式,你的默认值应该是:{}一个空的
      断点 2022-08-23 11:37   回复 1139423796017500160
    • Cstri  回复 @断点
      这个也不行,楼上那位仁兄给了个异常判断,目前是行得通了
      Cstri 2022-08-23 11:48   回复 1342082010843308032
    • 断点  回复 @Cstri
      ok
      断点 2022-08-23 12:07   回复 1139423796017500160
  • 用了kt还能有空指针问题?用let代码块包裹不可以吗?

    1290102301154942976  评论     打赏       CH-Android
    • Cstri  回复 @CH-Android
      嗯,刚试了下,确实有用,之前我也是用let的,忘记是因为什么就变了,可能也遇到过其他问题吧,我懂的少,不行就换
      Cstri 2022-08-23 16:51   回复 1342082010843308032
相关问题
2021-01-09 20:23 426 6
爱学习的小金 · 空指针异常
2021-04-08 03:05 673 2
爱学习的小金 · 空指针异常
2021-04-09 21:56 706 2
2023-03-05 13:53 63 2
幻影~ · 安卓
2024-04-26 19:25 7 4
deanhu · AOSP
2024-04-25 21:53 3 10
幻影~ · 提问
2024-04-13 20:13 10 2
幻影~ · 找工作
2024-04-07 10:44 17 2
幻影~ · 问题
2024-03-31 17:20 7 2
TONYGFX · AOSP
2024-03-28 17:11 4 2