java单个对象重写对象数组,不确定原因
我创建了一个方法,理想情况下,该方法应该采用单个Account对象,然后将其添加到accounts数组中,但问题是,输入的Account“add”会覆盖数组中的所有现有Account,并将它们全部设置为add,我不确定原因。此外,在执行任何操作之前,数组帐户都会设置为输入的帐户“add”,我完全不明白为什么会这样。很抱歉,如果我遗漏了一些显而易见的东西,但任何帮助都将不胜感激
public void addAccount(Account add)
{
if (count < accounts.length)
{
accounts[count] = add;
count++;
System.out.println("Added " + add.toString() + " to list of accounts");
}
else
{
accounts = expand(10);
addAccount(add);
}
}
# 1 楼答案
您的
addAccount()
方法看起来不错,您的问题很可能是在对它的调用中。根据我之前看到的人们遇到同样问题的方式,你看到这一问题的原因很可能是你在做类似的事情。。。这将创建一个帐户,更改它,添加它,更改它,添加它等等。您需要记住的是,您正在创建一个帐户,因此在添加它之后更改它也将更改您之前添加到数组中的值。你需要做的是
这将创建10个帐户,效果会更好