Javaでは、特定のクラスのすべてのインスタンスを取得する可能な方法はありますか?
クラス( シングルトンパターン )をインスタンス化し、ファクトリコンストラクターで生成された各インスタンスをリストに追加するときに、Factory静的初期化子を使用できます...
このようなもの :
class MyObject {
private static List instances = new ArrayList();
public static MyObject createMyObject() {
MyObject o = new MyObject();
instances.add(new Java.lang.ref.WeakReference(o));
return o;
}
public static List getInstances() {
return instances;
}
private MyObject() {
// Not allowed
}
}
一般的ではありません。デバッガーAPIを使用している場合は可能です(私はチェックしていません)が、デバッグよりもotherを使用しないでください。
デザインでこれが必要な場合は、おそらくそのデザインを再考する価値があります。