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
按赞同
/
按时间
lilyglp

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

分享
微博
QQ
微信
回复
2024-05-11 11:20:25
相关问题
js 自定义组件如何传递方法
4268浏览 • 2回复 待解决
自定义组件如何增加自己对外方法
291浏览 • 1回复 待解决
自定义组件如何添加图片?
857浏览 • 1回复 待解决
鸿蒙如何自定义字体文件
17428浏览 • 1回复 待解决
如何在自定义弹窗再次弹窗
319浏览 • 1回复 待解决
注册自定义字体在 webview 无效
381浏览 • 1回复 待解决
如何理解自定义弹窗gridCount参数
500浏览 • 1回复 待解决
自定义弹窗变量如何传递给页面
530浏览 • 1回复 待解决
如何自定义Component 属性
13047浏览 • 3回复 待解决
如何在js文件引入自定义js文件
5835浏览 • 1回复 待解决
自定义组件嵌套子组件
7429浏览 • 3回复 待解决