在Java ArrayList中搜索

我正在尝试ArrayList通过ID号来搜索客户的最佳方法。以下代码无法正常工作;编译器告诉我我缺少一条return语句。

Customer findCustomerByid(int id){

boolean exist=false;

if(this.customers.isEmpty()) {

return null;

}

for(int i=0;i<this.customers.size();i++) {

if(this.customers.get(i).getId() == id) {

exist=true;

break;

}

if(exist) {

return this.customers.get(id);

} else {

return this.customers.get(id);

}

}

}

//the customer class is something like that

public class Customer {

//attributes

int id;

int tel;

String fname;

String lname;

String resgistrationDate;

}

回答:

编译器抱怨是因为您当前在for循环中有’if(exist)’块。它必须在它之外。

for(int i=0;i<this.customers.size();i++){

if(this.customers.get(i).getId() == id){

exist=true;

break;

}

}

if(exist) {

return this.customers.get(id);

} else {

return this.customers.get(id);

}

话虽如此,有更好的方法来执行此搜索。就个人而言,如果我使用的是ArrayList,我的解决方案将类似于Jon Skeet发布的解决方案。

以上是 在Java ArrayList中搜索 的全部内容, 来源链接: utcz.com/qa/427821.html

回到顶部