オブジェクトが与えられた場合、クラスがシングルトンであるかどうかをどのように確認しますか?
現在私はこれを使用しています
public class SingletonClass implements IsSingleton
ここで、IsSingleton
はシングルトンクラスに実装する空白のインターフェイスです。したがって、クラスはシングルトンとしてテストできます
SingletonClass obj = SingletonClass.getInstance();
if(obj instanceof IsSingleton)
System.out.println("Class is Singleton");
else
System.err.println("Class not singleton");
シングルトンクラスを決定するためのより良い方法はありますか?私は自分の道を試しましreflection
たが、問題は宣言されたパブリッククラスgetConstructors()
のみを返すことです。したがって、コンストラクターが宣言されていないクラスはシングルトンとして扱われます。