final Set<Expression> exps = meng.getExps();
Iterator<Expression> iterator = exps.iterator();
final Expression displayedExp = exps.iterator().next();
exps.remove(displayedExp);
此代碼將返回以下運行時異常跟蹤:如何刪除Set中的項目?
null
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.remove(Collections.java:1021)
的Set實現meng.getExps的()是一個LinkedHashSet。
有沒有像Collection.copy這樣的實用工具? – simpatico 2010-07-26 21:49:00
例如Set set = new HashSet (exps); –
Landei
2010-07-26 21:53:37
@Landei是默認的java行爲,還是我們必須用Collections.unmodifiableCollection明確地包裝它。如果它是默認的,你知道在哪個版本的java中添加了這個改變嗎? – Atri 2016-08-09 23:18:47