反射java。豆。内省者getBeanInfo不会获取任何superinterface的属性
我刚刚注意到java。豆。内省者getBeanInfo不会获取任何superinterface的属性。例如:
public interface Person {
String getName();
}
public interface Employee extends Person {
int getSalary();
}
对员工的反省只会产生薪水,即使名字是从那个人身上继承下来的
这是为什么?我宁愿不使用反射来获得所有的getter
# 1 楼答案
这个问题在Sun bug中有介绍 java.beans.Introspector doesn't work for interfaces
# 2 楼答案
尝试使用
看看这是否会产生你想要的结果
# 3 楼答案
正如Phil所写,Java虚拟机不支持这种开箱即用。我也需要这个,并作为Diergo Utils 1.5的一部分实现了helper class
# 4 楼答案
在这种情况下,您应该编写一个自定义BeanInfo类