【发布时间】:2012-06-06 22:02:45
【问题描述】:
我有一个带有 getter 和 setter 的类:
class A
{
private Set<Offers> offers;
public Set<Offers> getOffers(){
return offers;
}
public void setOffers(Set<Offers> offers){
this.offers = offers;
}
}
现在我想使用 Apache Commons PropertyUtils 获取报价的 size():
PropertyUtils.getProperty(myAInstance, "offers.size");
这应该基本上与以下内容相同:
myAInstance.getOffers().size();
但是使用 PropertyUtils 不起作用并给了我一个:
java.lang.NoSuchMethodException:类上的未知属性“大小” '类 java.util.LinkedHashSet'
对其他对象的所有 getter 和 setter 使用 PropertyUtils 工作正常。
我怀疑这是因为 Collection 的 size() 方法没有遵循 getXXX 和 setXXX bean 约定。
还有其他方法可以使用 PropertyUtils / 或 BeanUtils(或 Apache Commons 中的其他任何东西)来调用我的集合的 size() 方法吗?
谢谢 克里斯托夫
【问题讨论】:
标签: java reflection apache-commons-beanutils