Java无法保存我的输入。看我的代码

时间:2011-12-01 15:29:08

标签: java list

class History  {

    public String[] history;

    public History(String[] history) {
       if (history == null)
           history = new String[]{};
       else 
           history = this.history
    }

}

无论我给它什么,它都会一直保存null。 所以不能用它..

3 个答案:

答案 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

代替。我认为局部变量和对象属性之间存在命名冲突。