第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 Java 中的枚舉中刪除數(shù)組列表

如何從 Java 中的枚舉中刪除數(shù)組列表

翻翻過去那場雪 2021-11-17 15:43:22
我需要一種方法來刪除Filetype在 java 類中聲明為Enum 內(nèi)部的數(shù)組項: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), Arrays.asList(FileType.TEST1, FileType.TEST2,FileType.TEST3,FileType.TEST4,FileType.TEST5, FileType.TEST6,FileType.TEST7, FileType.TEST8, FileType.TEST9,FileType.TEST10, FileType.TEST11))}所以我需要FileType.TEST10從PROCEDUREF. 我創(chuàng)建了一個類來實現(xiàn)這個枚舉:public class FormObject {    private static final List<Procedure> GUI_PROCEDURES = Arrays.asList(Procedure.NONE, Procedure.PROCEDUREF);    public List<Procedure> getProcedures() {        if (userdetail.ispilot()) {                    GUI_PROCEDURES.get(1).getOptionalFileTypes().remove(10);            return GUI_PROCEDURES;        }     }這個GUI_PROCEDURES.get(1).getOptionalFileTypes().remove(10);刪除說明FileType.TEST11不起作用,你能幫我解決這個問題嗎?謝謝
查看完整描述

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

}


查看完整回答
反對 回復(fù) 2021-11-17
?
阿波羅的戰(zhàn)車

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)))}



查看完整回答
反對 回復(fù) 2021-11-17
  • 2 回答
  • 0 關(guān)注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號