Javaでは、特定のクラスのすべてのインスタンスを取得するための可能な方法はありますか?
質問する
41937 次
2 に答える
28
クラスをインスタンス化するときに Factory 静的初期化子を使用し ( Singleton pattern )、ファクトリ コンストラクターで生成された各インスタンスを List に追加できます ...
このようなもの :
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
}
}
于 2012-04-09T09:06:35.310 に答える
9
一般的ではありません。デバッガーAPIを使用している場合は可能かもしれませんが(私はチェックしていません)、デバッグ以外に使用しないでください。
デザインでこれが必要な場合は、おそらくそのデザインを再考する価値があります。
于 2012-04-09T09:06:01.887 に答える