假设在 scala 中我有一个 ADT,如下所示:
sealed trait Animal
object Animal {
case class Lion(name: String) extends Animal
case class Elephant(name:String) extends Animal
case object Tiger extends Animal
}
在这里,最好声明Tiger
作为案例对象还是应该将其声明为空案例类,即case class Tiger()
?一个人比另一个人有什么优势吗?
如果有唯一的Tiger
它应该是一个对象。如果可以有多个相等的Tiger
它应该是一个类。
val tiger = Tiger()
val tiger1 = Tiger()
tiger == tiger1 // true
tiger eq tiger1 // false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)