final Set<Expression> exps = meng.getExps();
Iterator<Expression> iterator = exps.iterator();
final Expression displayedExp = exps.iterator().next();
exps.remove(displayedExp);
Mã này sẽ trả lại ngoại lệ thời gian chạy sau theo dõi:Làm cách nào để xóa một mục khỏi Tập hợp?
null
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.remove(Collections.java:1021)
Các Set thi hành meng.getExps() là một LinkedHashSet.
và có tiện ích nào như Collection.copy để làm điều đó không? – simpatico
Ví dụ: Đặt set = new HashSet (hết hạn); –
Landei
@Landei là hành vi java mặc định hoặc chúng ta phải bao bọc nó một cách rõ ràng với Collections.unmodifiableCollection. Nếu nó là theo mặc định, bạn có biết trong đó phiên bản của java là thay đổi này được thêm vào? – Atri