获取课程的所有实例

时间:2012-04-09 09:04:04

标签: java class instance

  

可能重复:
  Is there a simple way of obtaining all object instances of a specific class in Java

在java中,有没有办法获取某个类的所有实例?

2 个答案:

答案 0 :(得分:20)

您可以在实例化类(Singleton pattern)时使用Factory静态初始化程序,然后将工厂构造函数中的每个生成的实例添加到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 
    }
  }

答案 1 :(得分:7)

不一般。如果您正在使用调试器API,则可能(我没有检查过)但您不应该使用其他而不是调试。

如果您的设计需要这样,那么可能值得重新考虑这种设计。