1
我試圖使用scala.reflect來獲取類屬性並將它們寫入XML。 但是我得到一個奇怪的錯誤scala反射錯誤java
def toXml(): xml.Elem = {
<node>{
for(field: scala.reflect.Field <- getClass().getDeclaredFields()) {
val tmpString = "<" + field.name + ">" + this.getClass().getMethods.find(_.getName == field.name).get.invoke(this) + "</" + field.name + ">"
print(tmpString)
}
}</node>
}
錯誤:
error: type mismatch;
found : scala.reflect.Field => Unit
required: java.lang.reflect.Field => ?
for(field: scala.reflect.Field <- getClass().getDeclaredFields()) {
所以,即使我明確地使用scala.reflect.Field,它仍然被視爲java.lang.reflect.Field中?
有沒有什麼辦法讓斯卡拉類的字段列表? – user485659
@ user485659,請參閱編輯。請記住,在很多情況下,您甚至不需要聲明該類型,因爲它會被推斷出來。 – Geo
謝謝,但是我現在面臨着另一個問題,我試圖獲得引用自定義類的屬性類型,我只知道它是類型對象 我的代碼: { for(字段:java.lang.reflect.Field < - getClass()。getDeclaredFields()) yield {this.getClass ().getMethods.find(_。getName == field.getName())。get.invoke(this)} } –
user485659