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