Java Singleton方法始终为nullpointer异常

gut*_*uhu 1 java singleton

我有一个名为HtmlConnect.java的类.我声明变量log如下:

public Log log = Log.getInstance();
Run Code Online (Sandbox Code Playgroud)

Log.java文件如下所示:

public class Log {

    private static Log instance = null;
    private String log;

    private Log() {

    }

    public static Log getInstance() {
        if (instance == null) {
            instance = new Log();
        }
        return instance;
    }

    public String getLog() {
        return log;
    }

    public void appendLog(String message) {
        this.log.concat(message+"\n");       
    }


    }
Run Code Online (Sandbox Code Playgroud)

所以我打电话的时候

log.appendLog("TestLog");
Run Code Online (Sandbox Code Playgroud)

我总是得到一个nullpointer异常.为什么是taht?

Ida*_*rye 7

您忘记初始化log成员字段.您需要在构造函数中执行此操作.


Sta*_*Sky 5

您需要在构造函数中初始化日志变量.

    private Log() {
      log = "";
    }
Run Code Online (Sandbox Code Playgroud)