Java - 搜索具有匹配String的对象的表

时间:2013-06-03 06:16:27

标签: java arrays

我正在通过表搜索具有匹配名称的客户,如果找到则我想返回该客户,否则返回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;
    }
}

有什么想法吗?感谢

2 个答案:

答案 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];
}