私は同じget ...()メソッドを持つ4つの関数を持っていますが、名前や識別子だけを変更しますが、新しいものを追加するときは4番目のものと異なる結果になります項目をリストすると、java.lang.UnsupportedOperationExceptionがスローされます。私はあなたに保証します、私はすでに4つの関数とその関係をすべてダブルチェックしましたが、なぜ4番目の関数がこのように機能しているのか分かりません。リストを追加する
public List<PropertyAttribute> getAttributes() {
if (selectedCode == null)
return null;
Criteria criteria = this.propertyAttributeDAO.createCriteria();
FilterUtils.byField(criteria, "propertyCode", this.selectedCode, true);
List<PropertyAttribute> list = criteria.list();
if (isNewAttribute()) {
list.add(0, this.curAttribute); //this line that throws exception
}
return list;
}
UPDATEスタックトレース:
Caused by: java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at bos.web.pages.instrument.ViewProperty.getAttributes(ViewProperty.java:654)
at $InternalPropertyConduit_237587e282284.get(Unknown Source)
at org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:59)
stackTrace全体を投稿できますか? 'list'実装' criteria.list() 'が生成されることを知ることも興味深いかもしれません。 – Aaron
@nbokmansのように、' criteria.list() 'が' Arrays.asList() '(または同等のもの) 'add'操作をサポートしていないインスタンスです。 – AxelH
あなたの答えは、[AbstractList documention](https://docs.oracle.com/javase/7/docs/api/java/util/AbstractList.html)を参照してください。そして解決策は与えられている。 – AxelH