我实际上有一个单例类,它有两个方法 getInstance() 和 getInstance(param1, param2)。
getInstance() 使用默认值初始化单例对象,而 getInstance(param1, param2) 使用用户定义的参数(param1 和 param2)初始化单例对象。
但是当用户首先调用 getInstance() 并稍后执行 getInstance(param1, param2) 或反之亦然时,就会出现问题。当使用不同的参数调用两次 getInstance(with params) 时也是如此。即,首先调用 getInstance(param1, param2),然后调用 getInstance(param3, param4)。
在上述所有情况下,第二次调用都被忽略了,因为单例对象只被初始化一次,并且不应再次更改。但是,用户永远不会知道这一切,并且会认为他的第二次调用已成功执行。
有人可以建议解决此问题的最佳方法吗?