JAVABEANS错误找不到符号
JAVABEANS error cannot find symbol
我尝试对 属性 的 set/get 值使用 属性 的 javabean 反射。属性。
当我尝试编译这段代码时
class TestReflection
{
public TestReflection()
{
}
private Integer field;
public Integer getField()
{
return this.field;
}
public void setField(Integer x)
{
this.field = x;
}
}
// .
// .
// .
TestReflection ref = new TestReflection();
Object value = new PropertyDescriptor("field",
ref.class).getReadMethod().invoke(ref); // ERROR
我收到这个错误:
Test.java:84: error: cannot find symbol
ref.class).getReadMethod().invoke(ref);
symbol: class ref
我该如何修复该错误?
将ref.class
替换为ref.getClass()
:
new PropertyDescriptor("field", ref.getClass())
class字面值.class
只适用于该类型,不适用于该类型的变量,即:
new PropertyDescriptor("field", TestReflection.class)
请注意,这就是编译器抛出 cannot find symbol
错误的原因:当遇到 X.class
时,它会尝试搜索 class 或名为 X
的类型.
使用 ref.getClass() 方法代替 ref.class.
我尝试对 属性 的 set/get 值使用 属性 的 javabean 反射。属性。
当我尝试编译这段代码时
class TestReflection
{
public TestReflection()
{
}
private Integer field;
public Integer getField()
{
return this.field;
}
public void setField(Integer x)
{
this.field = x;
}
}
// .
// .
// .
TestReflection ref = new TestReflection();
Object value = new PropertyDescriptor("field",
ref.class).getReadMethod().invoke(ref); // ERROR
我收到这个错误:
Test.java:84: error: cannot find symbol
ref.class).getReadMethod().invoke(ref);
symbol: class ref
我该如何修复该错误?
将ref.class
替换为ref.getClass()
:
new PropertyDescriptor("field", ref.getClass())
class字面值.class
只适用于该类型,不适用于该类型的变量,即:
new PropertyDescriptor("field", TestReflection.class)
请注意,这就是编译器抛出 cannot find symbol
错误的原因:当遇到 X.class
时,它会尝试搜索 class 或名为 X
的类型.
使用 ref.getClass() 方法代替 ref.class.