问答详情
源自:-

请问大神是什么原因造成的两个结果不同啊?

package singletonpattern;

/**

 * 懒汉模式

 * @author Administrator

 *

 */

public class Singleton {

private static Singleton singleton ;

private Singleton(){

}

public static Singleton getSingleton(){

if(singleton.equals(null))

singleton = new Singleton() ;

return singleton ;

}

}

/**

出现java.lang.NullPointerException

当把上边的粗体字改为if(singleton == null)后,输出结果正常。我想请教是什么原因啊

*/

提问者:慕粉1464699512 2016-08-18 19:53

个回答

  • leowei
    2016-11-03 16:23:24

    因为只有对象才能调用equals 方法!

    刚开始你的对象是null

    没有指向对象,哪来的方法啊!

    equals 是属于对象的! 

  • SimplePie
    2016-10-15 20:53:21

    应为对象为null所以没有方法调用 报出空指针异常