在 Scala 中重写 case class 方法
override case class method in scala
我试图在我的案例 class 中重写一个特征方法,它想要显示案例 class 的所有成员。我将其用于调试目的。
trait A{
def myMethod(employee:Emp):Unit
}
case class Emp(id:String,name:String) extends A {
override def myMethod(employee: Emp): Unit =
emp.productIterator.toList.foreach(println)
}
其他可能的方法是
emp.productIterator.toList.mkString("\n")
宣布Emp("10","abc")
。我是 Scala
的新手,不知道如何调用 trait
.
的覆盖方法
我不确定是否有任何其他通用方法可以实现此功能
获取 case class 成员的字符串形式。
使用 trait 和 case class 实现此目的的有效方法
functionality.I 想了解如何应用方法和伴侣
可以实现对象。
- 我想实现
logging
而不是使用 println
。任何人都可以
推荐教程吗?
之前的回答是因为我没有正确理解你的问题。这应该可以回答您的问题:
如果您只想将其用于调试目的,您可以这样使用它:
trait A{
def myMethod(employee:Emp):Unit
}
case class Emp(id:String,name:String) extends A {
override def myMethod(employee: Emp): Unit =
this.productIterator.toList.foreach(println)
}
Emp("1", "2").myMethod(None.orNull)
但更合乎逻辑的是将对象与此非通用方法一起使用:
case class Emp(id:String,name:String)
object A{
def myMethod(employee: Emp):Unit = {
employee.productIterator.toList.foreach(println)
}
}
A.myMethod(Emp("1", "2"))
出于日志目的,您可以只使用 apache log4j
我试图在我的案例 class 中重写一个特征方法,它想要显示案例 class 的所有成员。我将其用于调试目的。
trait A{
def myMethod(employee:Emp):Unit
}
case class Emp(id:String,name:String) extends A {
override def myMethod(employee: Emp): Unit =
emp.productIterator.toList.foreach(println)
}
其他可能的方法是
emp.productIterator.toList.mkString("\n")
宣布Emp("10","abc")
。我是 Scala
的新手,不知道如何调用 trait
.
我不确定是否有任何其他通用方法可以实现此功能 获取 case class 成员的字符串形式。
使用 trait 和 case class 实现此目的的有效方法 functionality.I 想了解如何应用方法和伴侣 可以实现对象。
- 我想实现
logging
而不是使用println
。任何人都可以 推荐教程吗?
之前的回答是因为我没有正确理解你的问题。这应该可以回答您的问题:
如果您只想将其用于调试目的,您可以这样使用它:
trait A{
def myMethod(employee:Emp):Unit
}
case class Emp(id:String,name:String) extends A {
override def myMethod(employee: Emp): Unit =
this.productIterator.toList.foreach(println)
}
Emp("1", "2").myMethod(None.orNull)
但更合乎逻辑的是将对象与此非通用方法一起使用:
case class Emp(id:String,name:String)
object A{
def myMethod(employee: Emp):Unit = {
employee.productIterator.toList.foreach(println)
}
}
A.myMethod(Emp("1", "2"))
出于日志目的,您可以只使用 apache log4j