1. 程式人生 > >java.lang.StringIndexOutOfBoundsException: String index out of range: -1

java.lang.StringIndexOutOfBoundsException: String index out of range: -1

字串擷取下標越界

 

出錯程式碼

@GetMapping("/edit")
	//@RequiresPermissions("erp:enquirySheet:edit")
	public String edit( String enquiryNo,Model model){
        EnquirySheetDO enquirySheet = enquirySheetService.selectByEnquiryNo(enquiryNo);
        model.addAttribute("enquirySheet",enquirySheet);

        //儲存sku編號集合
        List<EnquiryDetailDO> enquiryDetailList = enquiryDetailService.selectByEntityNo(enquiryNo);
        StringBuilder sbu = new StringBuilder();
        for(EnquiryDetailDO enquiryDetail : enquiryDetailList){
            sbu.append(enquiryDetail.getSkuNo()).append(",");
        }
        String skuList = sbu.toString().substring(0,(sbu.toString()).length()-1);
        model.addAttribute("skuList",skuList);

        model.addAttribute("enquiryNo",enquiryNo);
	    return "erp/enquiry/enquirySheet/edit";
	}
	

修改後程式碼

@GetMapping("/edit")
	//@RequiresPermissions("erp:enquirySheet:edit")
	public String edit( String enquiryNo,Model model){
        EnquirySheetDO enquirySheet = enquirySheetService.selectByEnquiryNo(enquiryNo);
        model.addAttribute("enquirySheet",enquirySheet);

        //儲存sku編號集合
        List<EnquiryDetailDO> enquiryDetailList = enquiryDetailService.selectByEntityNo(enquiryNo);
        StringBuilder sbu = new StringBuilder();
        if(enquiryDetailList!=null&&enquiryDetailList.size()>0){
            for(EnquiryDetailDO enquiryDetail : enquiryDetailList){
                sbu.append(enquiryDetail.getSkuNo()).append(",");
            }
        }
        if(sbu!=null&&sbu.length()>0){
            String skuList = sbu.toString().substring(0,(sbu.toString()).length()-1);
            model.addAttribute("skuList",skuList);
        }else{
            model.addAttribute("skuList","擷取錯誤");
        }
        model.addAttribute("enquiryNo",enquiryNo);
	    return "erp/enquiry/enquirySheet/edit";
	}