找不到隐式类方法

时间:2019-02-11 23:21:31

标签: scala implicit

我有一个带有隐式类的对象:

object ModelUtils {
  implicit class RichString(str: String) {
    def isNullOrEmpty(x: String): Boolean = x == null || x.trim.isEmpty
  }
}

但是,当我尝试使用它时,IntelliJ无法找到isNullOrEmpty方法:

"TestString".isNullOrEmpty

我尝试了各种导入,但无济于事。我想念什么?

1 个答案:

答案 0 :(得分:5)

问题可能不在于导入本身,而在于不必要的参数x。如果要不带任何参数调用.isNullOrEmpty,则必须使用str,而不要使用x

object ModelUtils {
  implicit class RichString(str: String) {
    def isNullOrEmpty: Boolean = str == null || str.trim.isEmpty
  }
}

import ModelUtils._

println("TestString".isNullOrEmpty)