gpt4 book ai didi

java - scala反射错误java

转载 作者:行者123 更新时间:2023-11-29 06:44:04 25 4
gpt4 key购买 nike

我正在尝试使用 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()) {

关于java - scala反射错误java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8039914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com