Подтвердить что ты не робот

Получение всех экземпляров класса

Возможный дубликат:
Есть ли простой способ получить все экземпляры объектов определенного класса в Java.

В java есть ли возможный способ получить все экземпляры определенного класса?

4b9b3361

Ответ 1

Вы можете использовать статический инициализатор Factory при создании экземпляра вашего класса (Singleton pattern), а затем добавить каждый сгенерированный экземпляр в 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 
    }
  }

Ответ 2

Не в общем. Если вы используете API-интерфейс отладчика, это может быть возможно (я не проверял), но вы не должны использовать это, кроме как для отладки.

Если ваш дизайн требует этого, возможно, стоит пересмотреть этот дизайн.