工作,我宣佈一個類:階反射不能在這種情況下
trait TO {
@BeanProperty var id: String = _
@BeanProperty var age : Int = _
@BeanProperty var createdAt : Long = _
@BeanProperty var disable: Boolean = _
}
class UMTTestObject extends TO {
@BeanProperty var inner: UMTInnerTO = _
}
class UMTInnerTO extends TO{}
並在反思,這不適合UMTInnerObject的setAge工作:
setter.invoke(inner, 0)
而二傳手是UMTInnerObject的setAge,內是UMTInnerObject
的實例的錯誤味精所示:
的java。 lang.NoSuchMethodError:me.baihe.blackhole.luna.helpers.TO $ class.setAge(LME /白河/黑洞/盧納/助理/ TO;我)V
這是非常puzzle--
任何人知道爲什麼?
看來你正在處理Java Reflection API。我鼓勵你閱讀Scala反射文檔,特別是這個[部分](http://docs.scala-lang.org/overviews/reflection/overview.html#accessing_and_invoking_members_of_runtime_types),以便學習如何設置一個值改爲使用Scala Reflection API。 – jeslg 2013-04-24 11:36:36
你能提供更多的細節嗎?例如,你如何獲得'setter'? – ghik 2013-04-24 12:57:36
@JesúsLópez-González,所以你認爲scala不能使用java反射API,因爲兼容性? – user1453345 2013-04-25 03:32:22