В java есть ли возможный способ получить все экземпляры определенного класса?
Ответ 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-интерфейс отладчика, это может быть возможно (я не проверял), но вы не должны использовать это, кроме как для отладки.
Если ваш дизайн требует этого, возможно, стоит пересмотреть этот дизайн.