我正在通过表搜索具有匹配名称的客户,如果找到则我想返回该客户,否则返回null。问题是我一直都是null,我认为我的问题在于内部for循环中的if。
公共类测试员 {
public Customer isCustomerInTable(Customer[][] table, String customerName) {
for ( int r = 0; r < table.length; r++ ) {
for ( int c = 0; c < table[r].length; c++ ) {
if ( table[r][c].equals(customerName) ) {
return table[r][c];
}
}
}
return null;
}
}
我的客户类:
class Costumer {
private String name;
public Customer() {
name = "";
}
public void setCostumerName(String name) {
this.name = name;
}
public String getCostumerName(){
return name;
}
}
有什么想法吗?感谢
答案 0 :(得分:6)
你if
条件
if (table[r][c].getCostumerName().equals(customerName))
您需要比较names
,但在您的情况下,您要将Customer
对象与String customerName
进行比较。
答案 1 :(得分:1)
您正在使用Customer
检查string
个对象。这就是原因。你应该做以下
if ( table[r][c].getCostumerName().equals(customerName) ) {
return table[r][c];
}