我有一个方法,如果找到该方法,我需要返回一个特定的对象,否则抛出异常。所以我写了以下内容:

public CustomerDetails findCustomer( String givenID ) throws CustomerNotFoundException{
    for(CustomerDetails nextCustomer : customers){
        if(givenID == nextCustomer.getCustomerID()){
            return nextCustomer;
        }else{
            throw new CustomerNotFoundException();
        }
    }
}


但这需要我在方法底部添加一个return语句。有没有办法忽略这一点?

最佳答案

它要求您针对未执行循环(即customers为空)的情况从方法中提供有效的结果。您必须这样做:

for (CustomerDetails nextCustomer : customers){
    if (givenID == nextCustomer.getCustomerID()){
        return nextCustomer;
    }
}
throw new CustomerNotFoundException();


因为否则您会在不符合if中提供的条件的第一个元素之后抛出异常。

关于java - Java仅在循环内返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28720182/

10-10 21:48