java - 使用接口类型绑定和隐式的泛型重写方法
问题描述
我有一个通用的特征和两种检查员工年龄和姓名的替代方法。
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,这让我可以生成一个具体的条件,例如检查名字是 John。
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]
解决方案
推荐阅读
- python - 使用 Python/Pandas 平均和绘制非系统/排列数据
- react-native - 如何更改 createstacknavigator 路由名称
- oracle - 仅当 id 存在时才更新 Oracle sql 否则返回错误消息
- javascript - THREE.js EdgesGeometry / LineSegments 显示多行
- python - 将 sympy.core.mul.Mul 变量存储到二进制文件中?
- python - Pybullet 对象在模拟开始时自行旋转
- android - 在 Kotlinx 序列化中使字段可选
- php - 无法使用 curl 将 json 发布到端点
- html - 如何在 ::before 容器中使用 ::after div?
- postgresql - Heroku Postgres 备份