IDE无法识别在自定义方法中做的检测

class Demo{ 
  isNotEmpty(list:ArrayList<number>|null):boolean{ 
    return list!=null&&!list.isEmpty() 
  } 
 
  test(list:ArrayList<number>|null){ 
    if(this.isNotEmpty(list)){ 
      list.length//会爆红提示有可能为null 
    } 
  } 
}

在test使用isNotEmpty方法判断了,但是使用还是报错。在最新的Preview中出现。

HarmonyOS
2024-05-10 22:05:14
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
一意孤行的

isNotEmpty是个函数调用,tsc(ts编译器)没法判断这种比较复杂的逻辑,与arkts无关,可以直接判断是不是null list?.length 或者 确定不为null的话可以将报错处改为list!.length。开发者可以多参考ts的?. 和 !.的用法。

分享
微博
QQ
微信
回复
2024-05-11 11:20:25
相关问题
js 自定义组件如何传递方法
5785浏览 • 2回复 待解决
自定义路由表实现方法
387浏览 • 1回复 待解决
HarmonyOS Web是否提供自定义dns方法
352浏览 • 1回复 待解决
HarmonyOS自定义组件增加方法如何实现
320浏览 • 1回复 待解决
在c++实例化自定义类并调用方法
238浏览 • 1回复 待解决
自定义弹窗自定义转场动画
922浏览 • 1回复 待解决