簡體   English   中英

Scala反射錯誤java

[英]scala reflection error java

我正在嘗試使用scala.reflect獲取類屬性並將其寫入XML。 但是我遇到一個奇怪的錯誤

 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?

getClass().getDeclaredFields()返回java.lang.reflect.Field對象。 除非找到在這兩個類之間進行轉換的方法,否則不能將它們聲明為scala.reflect.Field並期望它們起作用。

編輯:修復您的代碼:

for(field: java.lang.reflect.Field <- getClass().getDeclaredFields()) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM