相关疑难解决方法(0)

Scala隐式转换范围问题

拿这个代码:

  class Register(var value:Int = 0) {
      def getZeroFlag() : Boolean = (value & 0x80) != 0
  }

  object Register {
      implicit def reg2int(r:Register):Int = r.value
      implicit def bool2int(b:Boolean):Int = if (b) 1 else 0
  }
Run Code Online (Sandbox Code Playgroud)

我想这样使用它:

val x = register.getZeroFlag + 10
Run Code Online (Sandbox Code Playgroud)

但我受到了欢迎:

type mismatch; found : Boolean required: Int
Run Code Online (Sandbox Code Playgroud)

怎么了?我是否需要定义一个隐式的函数返回一个bool?

scala implicit implicit-conversion

6
推荐指数
1
解决办法
3391
查看次数

标签 统计

implicit ×1

implicit-conversion ×1

scala ×1