在java中,有没有可能获取某个类的所有实例的方法?
问问题
41937 次
2 回答
28
您可以在实例化类(单例模式)时使用工厂静态初始化程序,然后将工厂构造函数中生成的每个实例添加到 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 回答