Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单例模式使用_Java_Design Patterns_Singleton - Fatal编程技术网

Java 单例模式使用

Java 单例模式使用,java,design-patterns,singleton,Java,Design Patterns,Singleton,编辑 此编辑版本运行良好。setValue可以通过在执行某些赋值后返回类的实例来链接 publicsingletonsetvalue(字符串、对象){ //做一些作业 归还这个; } 方法getInstance()正在返回对象类型值 您需要将对象强制转换为: ((Singleton)Singleton.getInstance()).setValue(…) 如果希望类像生成器一样工作,请更改方法以返回单例类型对象:publicstaticsingletongetinstance(){..}以及se

编辑
此编辑版本运行良好。

setValue可以通过在执行某些赋值后返回类的实例来链接

publicsingletonsetvalue(字符串、对象){
//做一些作业
归还这个;
}
方法getInstance()正在返回对象类型值

您需要将对象强制转换为:
((Singleton)Singleton.getInstance()).setValue(…)


如果希望类像生成器一样工作,请更改方法以返回单例类型对象:
publicstaticsingletongetinstance(){..}
以及setValue
publicstaticsingletonsetvalue(..)
能够像在代码中编写的那样调用多个集合。

您认为错误消息想告诉您什么?您想创建一个singleton和builder模式吗?是的,这有助于停止该错误,但现在我猜这里出了什么错:公共静态singleton getInstance(){if(instance==null){instance=new Singleton();}return instance.getInstance();}因为它在Singleton.getInstance()处的线程“main”java.lang.StackOverflower中给出StackOverflower错误:异常不确定代码是否以这种方式正确,也许您应该
返回instance
而不是
instance.getInstance()
我已经像上面那样更改了它。现在它既不给出错误也不给出输出。您没有在setValue方法中设置值。`public Singleton setValue(String String,Object Object){values.put(String,Object);返回此;}`
public Singleton setValue(String string, Object object) {
        values.put(string, object);
        return this;
    }

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