以下是代码:
scala> class A {
| def hi = "Hello from A"
| override def toString = getClass.getName
| }
defined class A
scala> val a = new A()
a: A = A
scala> a.toString
res10: String = A
scala> println(s"${a.toString}")
$line31.$read$$iw$$iw$A
使用a.toString
表达式打印正常,而使用println(s"${a.toString}")
则不行。问题出在getClass.getName
上,其他情况下它都能正常工作。
非常感谢您的帮助。
scala> class A { override def toString = getClass.getName } defined class A scala> val a = new A() a: A = $sess.cmd0$A scala> a.toString res2: String = "$sess.cmd0$A" scala> println(s"""${a.toString}""") $sess.cmd0$A
- Nagarjuna Pamuclass A { override def toString: String = getClass.getName } object Date { def main(args: Array[String]) { println(new A().toString) } }
- Juan Salvador