Kotlin代码isEmpty调用报错:期望函数调用'isEmpty(...)'求助
Kotlin中isEmpty调用报错的解决方法
直接修复方案
把代码里的 department.isEmpty 修改为 department.isEmpty()。
错误原因
Kotlin 中,isEmpty 是 CharSequence(包括String)的成员函数,而非属性,必须通过函数调用语法(带括号)使用。错误提示 function invocation 'isEmpty(...)' expected 已经明确指出这一点——编译器期望你调用这个函数,而不是直接访问属性。
额外排查场景
如果修改后仍有问题,可检查以下几点:
- 空安全处理:如果
department是可空类型(如String?),需先处理空值:// 方式1:安全调用+ Elvis 表达式 return if (department?.isEmpty() ?: true) { // 你的业务逻辑 } // 方式2:使用标准库扩展函数 return if (department.isNullOrEmpty()) { // 你的业务逻辑 } - 类型确认:确保
department的类型确实是支持isEmpty()的类型(如String、List等),而非自定义的未实现该函数的类型。 - Kotlin插件版本:确认项目中Kotlin插件版本与Gradle版本兼容,可在项目根目录的
build.gradle中检查kotlin_version配置,避免版本不匹配导致的语法解析问题。
错误片段参考:
function invocation 'isEmpty(...)' expected
return if (department.isEmpty) {
^
内容的提问来源于stack exchange,提问作者samey _
相关产品推荐
相关产品推荐

