Scala 奇怪地打印出 toString() 覆盖
Scala weird printing out toString() override
class Complex(real: Double, imaginary: Double) {
def re = real
def im = imaginary
override def toString() : String =
"" + re + (if (im < 0) "" else "+") + im + "i"
}
object Runme {
// making a new starting point...
def main(args: Array[String]): Unit = {
var c = new Complex(2.3, 4.5)
print(c)
}
}
当我 运行 这段代码时,为什么我得到 "Complex@3834d63f" 而不是“2.3+4.5i”?
我不小心将 class 复杂声明嵌套在另一个 class 复杂声明中。此问题现已解决。
class Complex(real: Double, imaginary: Double) {
def re = real
def im = imaginary
override def toString() : String =
"" + re + (if (im < 0) "" else "+") + im + "i"
}
object Runme {
// making a new starting point...
def main(args: Array[String]): Unit = {
var c = new Complex(2.3, 4.5)
print(c)
}
}
当我 运行 这段代码时,为什么我得到 "Complex@3834d63f" 而不是“2.3+4.5i”?
我不小心将 class 复杂声明嵌套在另一个 class 复杂声明中。此问题现已解决。