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

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

嘗試更改 for 循環(huán)中的值時(shí)出現(xiàn)錯(cuò)誤

嘗試更改 for 循環(huán)中的值時(shí)出現(xiàn)錯(cuò)誤

慕斯709654 2023-07-28 09:38:46
我正在 Spring Boot 中開發(fā)一個(gè)應(yīng)用程序。但我陷入了 Java 循環(huán)。為什么會(huì)犯這樣的錯(cuò)誤。即使我沒有對 ArrayList 進(jìn)行任何設(shè)置,也會(huì)發(fā)生此錯(cuò)誤。java.lang.IndexOutOfBoundsException:索引:0,大?。?這是我的代碼:    @RequestMapping("/update")    public String Update(@RequestParam(value = "this") int updateId,Model model,String newName,String newSurname,String newCountry) {        model.addAttribute("id",updateId);        model.addAttribute("name",personList.get(updateId).getName());        model.addAttribute("surname",personList.get(updateId).getSurname());        model.addAttribute("country",personList.get(updateId).getCountry());        for (Person person : personList) {            System.out.println(personList.size());            if (person.getId()==updateId) {                if (null!=newName) {                    person.setName(newName);                    updateControl+=1;                    System.out.println(personList.size());                }                if (null!=newSurname) {                    updateControl+=1;                    person.setSurname(newSurname);                }                if (null!=newCountry) {                    person.setCountry(newCountry);                    updateControl+=1;                }            }        }        if (updateControl==0) {            return "update";        }        else {            return "redirect:/";        }    }這是我的錯(cuò)誤:There was an unexpected error (type=Internal Server Error, status=500).Index: 0, Size: 0java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
查看完整描述

3 回答

?
墨色風(fēng)雨

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

如果你的personList為空,那么你就不能調(diào)用personList.get()它。您應(yīng)該檢查索引是否updateId小于personList大小。


@RequestMapping("/update")

public String Update(@RequestParam(value = "this") int updateId,Model model,String newName,String newSurname,String newCountry) {

    model.addAttribute("id",updateId);

    if (updateId < personList.size()) {

        model.addAttribute("name",personList.get(updateId).getName());

        model.addAttribute("surname",personList.get(updateId).getSurname());

        model.addAttribute("country",personList.get(updateId).getCountry());

    // ...

}

我還經(jīng)常喜歡做的是使用保護(hù)子句:


@RequestMapping("/update")

public String Update(@RequestParam(value = "this") int updateId,Model model,String newName,String newSurname,String newCountry) {

    model.addAttribute("id",updateId);

    if (updateId >= personList.size()) {

        throw new EntityNotFoundException();

    }

    // ...

updateId如果您確定帶有索引的元素肯定應(yīng)該在那里,那么您可能也沒有正確初始化或加載 personList 。


查看完整回答
反對 回復(fù) 2023-07-28
?
莫回?zé)o

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

錯(cuò)誤提示,列表中沒有數(shù)據(jù)。但是您嘗試從空列表中獲取數(shù)據(jù)。

model.addAttribute("name",personList.get(updateId).getName());
model.addAttribute("surname",personList.get(updateId).getSurname());
model.addAttribute("country",personList.get(updateId).getCountry());

請檢查您的 personList.


查看完整回答
反對 回復(fù) 2023-07-28
?
楊__羊羊

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

錯(cuò)誤消息清楚地顯示,您正在訪問Index: 0列表中的元素 Size: 0。您可以在開始時(shí)添加 null 檢查以避免這種情況,


if (null != personList && ! personList.isEmpty()) {

    //rest of code

}


查看完整回答
反對 回復(fù) 2023-07-28
  • 3 回答
  • 0 關(guān)注
  • 231 瀏覽

添加回答

舉報(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)