2 回答

TA貢獻1836條經(jīng)驗 獲得超3個贊
很難判斷您是否沒有提供您得到的錯誤,也沒有提供一個最小的、完整的和可驗證的示例。
無論如何,錯誤可能是因為您試圖刪除不可變的元素List。
當你創(chuàng)建一個List與Arrays.asList你得到的是一個不可改變的列表,如果你試圖調(diào)用該方法remove(10)一java.lang.UnsupportedOperationException會拋出異常。
因此,您可能需要在Procedure構(gòu)造函數(shù)中進行一些更改以使這些列表可變。一種方法是List從不可變的創(chuàng)建一個新的。它看起來類似于:
Procedure(List<FileType> optionalFileTypes /* other arguments */) {
this.optionalFileTypes = new ArrayList(optionalFileTypes);
// other constructor code
}

TA貢獻1862條經(jīng)驗 獲得超6個贊
Arrays.asList()不支持像 add(),addAll(),remove(),removeAll() 這樣的操作,因為它返回不可變列表。您需要將任何需要修改的列表包裝在ArrayList<>(). 嘗試如下:
public enum Procedure {
NONE("NONE", "procedure.none", false, null, Collections.<FileType> emptyList(), Collections.<FileType> emptyList()),
PROCEDUREF("PROCEDUREF", "procedure.procedureD", false, null, Arrays.asList(FileType.REQUEST), new ArrayList<>(Arrays.asList(FileType.TEST1, FileType.TEST2,FileType.TEST3,FileType.TEST4,FileType.TEST5, FileType.TEST6,FileType.TEST7, FileType.TEST8, FileType.TEST9,FileType.TEST10, FileType.TEST11)))}
添加回答
舉報