Làm cách nào tôi có thể ghi đè "toString" để làm cho mã Scala này hoạt động giống như mã Java sau.Ghi đè phương thức toString trong Liệt kê Scala
Mã trong Scala
object BIT extends Enumeration {
type BIT = Value
val ZERO, ONE, ANY = Value
override def toString() =
this match {
case ANY => "x "
case ZERO=> "0 "
case ONE => "1 "
}
}
val b = ONE
println(ONE) // returns ONE
Wanted hành vi toString nên sản xuất cùng một sản lượng như mã Java sau.
public enum BIT {
ZERO, ONE, ANY;
/** print BIT as 0,1, and X */
public String toString() {
switch (this) {
case ZERO:
return "0 ";
case ONE:
return "1 ";
default://ANY
return "X ";
}
}
}
BIT b = ONE;
System.out.println(b); // returns 1
Tôi nghĩ rằng tôi đang ghi đè sai phương pháp "toString".