从ArrayList中删除对象(帐户)

时间:2014-11-04 19:31:49

标签: java arraylist

public boolean removeAccount (String accountNumber)
{
    int index = 0;
    boolean found = false;
    while (index < accounts.size() && !found)
    {
        if ( accounts.get(index).getAccountNumber().equals(accountNumber))
        {
            found = true;
            accounts.remove(accountNumber);
        }
        else
            index++;
    }
    if (found == true)
    {
        return true;
    }
    else
        return false;
}

当我输入正确的帐号时,它返回true,但是它不会从ArrayList中删除帐户,任何帮助都将不胜感激:)

2 个答案:

答案 0 :(得分:1)

two remove methods for ArrayList。一个接受索引,另一个接受对象移除自身。但是您提供了帐号,而不是索引或帐户本身。该帐号不在列表中,因此帐号不会被删除。

您有索引,而不是帐号。

accounts.remove(index);

答案 1 :(得分:0)

您正在使用的参数实际上是List#remove(Object)。您试图从列表中删除String,这绝对不存在。

请改用int参数:

accounts.remove(index);