這種方法是檢查重復(fù)變量。最近我發(fā)現(xiàn)了一種新語法:for-loop(String s: List) like this.我試圖將該新指令應(yīng)用于我當前的代碼,但它會導(dǎo)致錯誤Type mismatch: cannot convert from element type String to Integer我想重構(gòu)我的代碼(請告訴我)為什么 for syntax ( for (Integer i : duplicateList) // for (Integer k :checkList) ) 有錯誤?有什么方法可以應(yīng)用這種新語法嗎?或任何其他建議?這是我的原始代碼:public List<String> checkDuplicateInArray(List<String> checkList) { Set<String> unique = new HashSet<>(); Set<String> duplicate = new HashSet<>(); for (String val : checkList) { (unique.contains(val) ? duplicate : unique).add(val); } List<String> duplicateList = new ArrayList<>(duplicate); //**************I want to change this part..************* for (int i = 0; i < duplicateList.size(); i++) { int a = 0; for (int k = 0; k < checkList.size(); k++) { if (duplicateList.get(i).trim().equals(checkList.get(k).trim())) { if(a!=0){ checkList.set(k, checkList.get(k) + a); } a++; } } } return checkList;}這是我改變它的方式(產(chǎn)生錯誤):類型不匹配:無法從元素類型 String 轉(zhuǎn)換為 Integer for (Integer i : duplicateList) { int a = 0; for (Integer k :checkList) { if (duplicateList.get(i).trim().equals(checkList.get(k).trim())) { if(a!=0){ checkList.set(k, checkList.get(k) + a); } a++; } } }請問有什么幫助嗎?
1 回答

互換的青春
TA貢獻1797條經(jīng)驗 獲得超6個贊
你聲明:
Set<String> duplicate = new HashSet<>();
但是您嘗試在 Integer 上進行迭代:
for (Integer i : duplicateList) {
所以你自然必須尊重類型:
for (String s : duplicateList) {
添加回答
舉報
0/150
提交
取消