Javabeans 索引读取之间的类型不匹配

Javabeans 索引读取之间的类型不匹配,javabeans,Javabeans,考虑到这两类: BeanTestA.java import java.util.LinkedList; 导入java.util.List; 公共抽象类BeanTestA { 受保护的最终列表=新建LinkedList(); 公开摘要E getDelegateAt(intidx); 公共void setDelegateAt(int idx,E) { 列表集(idx,e); } 删除的公共无效数据集(int idx) { 列表。删除(idx); } } BeanTestB.java: import

考虑到这两类:

BeanTestA.java

import java.util.LinkedList;
导入java.util.List;
公共抽象类BeanTestA
{
受保护的最终列表=新建LinkedList();
公开摘要E getDelegateAt(intidx);
公共void setDelegateAt(int idx,E)
{
列表集(idx,e);
}
删除的公共无效数据集(int idx)
{
列表。删除(idx);
}
}
BeanTestB.java:

import java.util.LinkedList;
公开课考试
扩展BeanTestA
{
@凌驾
公共链接列表getDelegateAt(int idx)
{
返回列表.get(idx);
}
@凌驾
public void setDelegateAt(int idx,LinkedList v)
{
super.setDelegateAt(idx,v);
}
@凌驾
公共无效删除删除(最终int idx)
{
超级远程网关(idx);
}
}
如果我跑步:

java.beans.Introspector.getBeanInfo(BeanTest.class);
我得到一个错误:

java.beans.IntrospectionException: type mismatch between indexed read and indexed write methods: delegateAt
因为在某些时候,它调用java.beans.IndexedPropertyDescriptor.findIndexedPropertyType(方法,方法),参数为BeanTest.getDelegateAt和BeanTestA.setDelegateAt。findIndexedPropertyType从BeanTest.getDelegateAt的返回类型获取indexedPropertyType,该返回类型由于擦除而成为对象。但随后它获取LinkedList作为参数,并抛出内省异常

这是java.beans.Introspector中的一个bug,还是不支持这种带有泛型的索引bean模式

这是使用OpenJDK1.7.0_25(来自Debian sid)和Oracle JDK1.7.0_45(来自Oracle.com)实现的