class History {
public String[] history;
public History(String[] history) {
if (history == null)
history = new String[]{};
else
history = this.history
}
}
无论我给它什么,它都会一直保存null。 所以不能用它..
答案 0 :(得分:9)
你的意思不是吗?
else this.history = history;
这一行你也有错误:
history = new String[]{};
应该是:
this.history = new String[]{};
当我编程时,我从不给局部变量赋予与类变量相同的名称。这只会导致混乱。
答案 1 :(得分:5)
使用this.history
引用类变量,使用history
引用方法参数。
你有这些困惑,并没有正确设置成员变量。当您引用history
时,这意味着方法的参数,而不是成员变量。
public History(String[] history)
{
if (history == null)
this.history = new String[]{};
else
this.history = history;
}
答案 2 :(得分:0)
对于作业,请使用
this.history = history
代替。我认为局部变量和对象属性之间存在命名冲突。