0

我有一个包含 java.util.Set 的 bean,当我尝试填充 Set 时,我得到了BeanException: Index property is not an array, list or map. 为什么 Jodd 不支持 Set ?我的豆子看起来像:

public class ShippingRule {
   private Set<String> returnConstraints;

   public Set<String> getReturnConstraints() {
      return returnConstraints;
   }
   public void setReturnConstraints(Set<String> returnConstraints) {
      this.returnConstraints = returnConstraints;
   }
}

我填充:

ShippingRule shippingRule = new ShippingRule();
BeanUtil.setPropertyForced(shippingRule, "returnConstraints[0]", "restrict1");
BeanUtil.setPropertyForced(shippingRule, "returnConstraints[1]", "restrict2");

我错过了什么吗?请指教,谢谢!

4

1 回答 1

0

因为Collections 没有键/值或索引行为或get()方法。让我们看看你的例子:

getProperty("returnConstraints")返回一个Set<String>。在那种情况下,会是[0]什么SetSet根本不能这样使用:)

您的示例看起来您的属性必须是String[]or List<String>or (unlikely) Map<Integer, String>

于 2014-04-06T18:29:37.583 回答