Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java.beans.Introspector构建BeanInfo时发生异常_Java_Introspection - Fatal编程技术网

使用java.beans.Introspector构建BeanInfo时发生异常

使用java.beans.Introspector构建BeanInfo时发生异常,java,introspection,Java,Introspection,Introspector.getBeanInfo在尝试获取子类中专门返回索引getter方法类型的类的BeanInfo时,抛出java.beans.IntrospectionException 示例代码: import java.beans.*; public class IntrospectorIssue { public static void main(String[] args) { try { final BeanInfo beanI

Introspector.getBeanInfo
在尝试获取子类中专门返回索引getter方法类型的类的
BeanInfo
时,抛出
java.beans.IntrospectionException

示例代码:

import java.beans.*;

public class IntrospectorIssue {

    public static void main(String[] args) {
        try {
            final BeanInfo beanInfo = Introspector.getBeanInfo(TestClass.class);
        } catch (IntrospectionException e) {
            throw new RuntimeException(e);
        }
    }

    public static abstract class AbstractTestClass {

        public Number getValue(int i) {
            return null;
        }

        public void setValue(int i, Number value) {

        }
    }

    public static class TestClass extends AbstractTestClass {

        public Long getValue(int i) { // (1)
            return null;
        }

        public void setValue(int i, Number value) { //(2)

        }

    }
}
异常是由
java.beans.IndexedPropertyDescriptor
引发的,它期望 (1)Long的返回类型应等于(2)Number

我使用的是1.7.0_45-b18 64位JDK

如果我将(1)的返回类型更改为Number,则不会引发异常。 这看起来像是JDK中的一个bug,我发现了类似的bug报告,并修复了
java.beans.PropertyDescriptor
()

张贴在这里只是为了再次检查,如果我没有错过什么