我刚刚注意到java.beans.Introspector getBeanInfo没有拾取任何超级接口的属性。例如:
public interface Person {
String getName();
}
public interface Employee extends Person {
int getSalary();
}
对员工进行内省只会产生薪水,即使名称是从人员继承的。
这是为什么?我宁愿不必使用反射来获得所有的吸气剂。
答案 0 :(得分:3)
Sun Bug中包含此问题 java.beans.Introspector doesn't work for interfaces
答案 1 :(得分:3)
Java Phil写道,Java VM不支持此功能。我还需要这个并在helper class中实施Diergo Utils 1.5。
答案 2 :(得分:1)
尝试使用
public static BeanInfo getBeanInfo(Class<?> beanClass, Introspector.USE_ALL_BEANINFO);
并查看是否会产生您正在寻找的结果。
答案 3 :(得分:0)
在这种情况下,您应该编写一个自定义BeanInfo类。