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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

根據(jù)枚舉列表驗(yàn)證字符串列表

根據(jù)枚舉列表驗(yàn)證字符串列表

HUX布斯 2022-06-30 11:03:56
我有一個(gè).properties文件,其中包含一組屬性作為鍵值對(duì)。這被讀入配置枚舉類。此配置類包含對(duì)應(yīng)于屬性的枚舉。我希望能夠發(fā)現(xiàn)兩者之間的差異。因此,如果屬性文件包含類中不存在的屬性,或者相反。換句話說,我有一個(gè)枚舉數(shù)組:MyEnumClass[] enums = {E1,E2,E3}和一個(gè)表示枚舉的字符串?dāng)?shù)組String[] properties = {"E1","E2","E3"}我怎樣才能找到兩者的交集?最好我想避免流。
查看完整描述

2 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

這是計(jì)算交集的簡單方法(更改輸入以使結(jié)果明顯):


List<String> properties = Arrays.asList(new String[] { "E1", "E2" });

List<MyEnumClass> enums = Arrays.asList(new MyEnumClass[] 

                          { MyEnumClass.E2, MyEnumClass.E3 });


List<String> enumNames = new ArrayList<>();

for (MyEnumClass e : enums)

    enumNames.add(e.name());


List<String> intersection = new ArrayList<>(enumNames);

intersection.retainAll(properties);

System.out.println(intersection); //[E2]

這可以計(jì)算彼此之間的差異:


List<String> propDiff = new ArrayList<>(properties);

propDiff.removeAll(enumNames);

System.out.println(propDiff); //[E1]


List<String> enumDiff = new ArrayList<>(enumNames);

enumDiff.removeAll(properties);

System.out.println(enumDiff); //[E3]


查看完整回答
反對(duì) 回復(fù) 2022-06-30
?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊

你可以這樣使用EnumSet<MyEnumClass>:


Set<MyEnumClass> all = EnumSet.allOf(MyEnumClass.class);

EnumSet<MyEnumClass>然后從您的屬性創(chuàng)建另一個(gè):


Set<MyEnumClass> loaded = EnumSet.noneOf(MyEnumClass.class);

for(String property : properties) {

    loaded.add(MyEnumClass.valueOf(property));

}

Collection.removeAll然后,您可以使用, Collection.addAll,來檢查不同的內(nèi)容Collection.retainAll:


// all will now contain every element from loaded

all.addAll(loaded);

// all will now contain every element which was not contained in loaded

all.removeAll(loaded);

// all will now contain every element which was contained in loaded

all.retainAll(loaded); 


查看完整回答
反對(duì) 回復(fù) 2022-06-30
  • 2 回答
  • 0 關(guān)注
  • 155 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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