Переписать методы с помощью generi c с типом интерфейса Bound и неявным - PullRequest
1 голос
/ 03 марта 2020

У меня есть черта с generi c и два альтернативных метода проверки возраста и имени работника.

trait Conditions[T] {
    def nameIs(color: String): T
    def ageUpperThan(upper: Int): T
}

def nameIs[T](color: String)(implicit fi: Conditions[T]): T = fi.nameIs(color)

Я хочу переписать все эти Scala код в Java, что позволит мне сгенерировать конкретные условия, например, чтобы проверить, зовут ли Джона.

def isJohn[T: Conditions]: T = nameIs[T]("John")

Также код должен показать результат:

def show: Conditions[String] =
    new Conditions[String] {
        def nameIs(name: String): String = s"name is $name"
        def ageUpperThan(age: Int): String = s"age upper $age"
    }

println(isJohn[String](show))

Не могли бы вы помочь мне переписать методы nameIs и isJohn?

У меня проблема с implicit и [T: Conditions]

...