一段java代码问题,请高手指教

来源:百度知道 编辑:UC知道 时间:2024/05/13 03:23:40
public String chooseEmployee() {
Limit limit = getLimit("employee");
this.employees = this.employeeService.pagedQuery(limit, employeeName);
this.request.setAttribute("totalRows", limit.getTotalRows());

if (this.employeesOld == null) {
this.employeesOld = new ArrayList<Employee>();
}

if (selectedEmployeeIds == null) {
selectedEmployeeIds = new ArrayList<String>();
}

for (String employeeId : this.checkIds) {
if (!selectedEmployeeIds.contains(employeeId)) {
selectedEmployeeIds.add(employeeId);
}
}

if (divisionId.indexOf(",") != -1) {
divisionId = divisionId.substring(0, divisionId.indexOf(","));
}

outter: for (String employeeId : selectedEmployeeIds)

Employee newEmployee = new Employee(); 这行及以下的代码不是chooseEmployee() 函数里面的吧??
没执行到只能说明if(employeeId.equals(employee.getId()))这个条件一直是成立的啊,所以一直continue到循环结束。你看看逻辑上是不是需要if(!employeeId.equals(employee.getId()))这样子。
--------------------------------------------
不一定要死循环才执行不到撒。因为你if条件一直是true ,所以一直是continue到循环结束,然后就return了,所以没执行到那条语句。你看看是不是if条件的问题,或许应该是条件为false的时候才continue。这样就是每循环一次就会执行一次createDivisionEmployee(employeeId);你自己从实际业务逻辑来考虑吧。

if (employeeId.equals(employee.getId())) {
continue outter;
}
这里一直在循环执行continue outter这步
要么是数据不对
要么是逻辑上应该是if (!employeeId.equals(employee.getId()))这个样子