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

Swu*_*per 1 java list

class History  {

    public String[] history;

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

}
Run Code Online (Sandbox Code Playgroud)

无论我给它什么,它只是一直保存null ...所以无法使用它..

Oli*_*ver 9

你不是这个意思吗?

else this.history = history;
Run Code Online (Sandbox Code Playgroud)

你在这一行上也有一个错误:

history = new String[]{};
Run Code Online (Sandbox Code Playgroud)

它应该是:

this.history = new String[]{};
Run Code Online (Sandbox Code Playgroud)

当我编程时,我从不给局部变量赋予与类变量相同的名称.这只会导致混乱.


Eri*_*son 5

使用this.history引用类变量,并history指该方法的参数.

你有这些困惑,并没有正确设置成员变量.当您引用时history,这意味着方法的参数,而不是成员变量.

public History(String[] history)
{
    if (history == null)
        this.history = new String[]{};
    else
        this.history = history;
}
Run Code Online (Sandbox Code Playgroud)