Scala通用特征-为什么在方法中声明类型参数会限制使用模运算符

时间:2019-09-03 11:30:02

标签: scala generics

如果我编写以下代码,则Intellij不会抱怨-

trait Predicate[T] {
    def test(parameter: T): Boolean
  }

  class MyPredicate extends Predicate[Int] {
    override def test(parameter: Int): Boolean = (parameter % 2 == 0)
  }

但是如果我进行如下修改,它会抱怨说“无法解析符号%”

 trait Predicate[T] {
    def test[T](parameter: T): Boolean
  }

  class MyPredicate extends Predicate[Int] {
    override def test[Int](parameter: Int): Boolean = (parameter % 2 == 0)
  }

在上面的代码段中,我明确提供了Int作为参数类型,然后为什么不允许%操作?

0 个答案:

没有答案