2 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
缺點(diǎn)就是不開(kāi)debugger的話(huà),根本不知道這個(gè)map里面放了什么參數(shù),導(dǎo)致維護(hù)這段代碼的人罵WTF的次數(shù)呈指數(shù)級(jí)上升;
沒(méi)太看懂,感覺(jué)跟1也是差不多意思;
所以,定義一個(gè)結(jié)構(gòu)清晰的java bean不好嗎?這樣就能避免你所提到的這些問(wèn)題了。

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
1.Map<?,?> 沒(méi)有指定類(lèi)型,這是泛型的基本概念。沒(méi)有對(duì)存入的數(shù)據(jù)類(lèi)型進(jìn)行校驗(yàn),即使在編譯時(shí)通過(guò),運(yùn)行時(shí)可能會(huì)出錯(cuò)。
2.list中的對(duì)象有三個(gè)屬性,可以遍歷一次list,分別存入三個(gè)map中。
Map<String,Boolean> map = new HashMap<String,Boolean>();
for (Object obj : list) {
if (null !=map.get(obj.getType())) {
continue;
} else {
map.put(obj.getType(), true);
}
}
for(Object obj : list) {
if (null != map.get(obj.getType())) {
if (map.get(obj.getType())) {
//存
} else {
List<Object> list = new ArrayList<Object>();
}
} else {
map.put(obj.getType(),true);
}
}
添加回答
舉報(bào)