Я пытаюсь использовать 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?