gpt4 book ai didi

scala case 类等于 (==) 未按预期工作

转载 作者:行者123 更新时间:2023-12-04 10:29:21 25 4
gpt4 key购买 nike

我一定在这里遗漏了一些愚蠢的东西。我有这个:

case class Color(val rgb:Int) {
private val c = rgb - 0xff000000
val r = (c & 0xff0000) >> 16
val g = (c & 0x00ff00) >> 8
val b = (c & 0x0000ff)
}

case object Red extends Color(0xffff0000)
case object Green extends Color(0xff00ff00)
case object Blue extends Color(0xff0000ff)

然后我希望它打印 :
val c = Color(0xff00ff00)
println(c == Green)

为什么不行??

最佳答案

从案例类继承的案例类(或对象)是一种不好的做法,从 Scala 2.9.1 开始是非法的。使用 object而不是 case object定义 Red , GreenBlue .

关于scala case 类等于 (==) 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7166823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com