2
我想知道一個給定對象的名稱在類嵌套對象名稱
class B {
abstract class F{
def name = getClass.getSimpleName
}
object FI extends F
}
val b = new B
println(b.FI)
使用Scala 2.9.1它打印B $ FI $
使用Scala 2.9.2它打印FI $
我真正想要的是「FI」。獲得FI的最佳方式是什麼,並確保它在未來版本的scala中不會改變?有一些反思支持來幫助我嗎?
你看到相同的行爲,如果你使用完全限定域名(即'getName',而不是'getSimpleName')?這可能是簡單名稱標記化如何工作的行爲的改變,這通常不是問題,因爲簡單的名稱永遠不會明確地引用類。 –