Powiel możliwe:
Is there a simple way of obtaining all object instances of a specific class in JavaGetting wszystkie instancje klasy
w Javie, czy istnieje jakikolwiek sposób, aby uzyskać wszystkie instancje danej klasy?
Powiel możliwe:
Is there a simple way of obtaining all object instances of a specific class in JavaGetting wszystkie instancje klasy
w Javie, czy istnieje jakikolwiek sposób, aby uzyskać wszystkie instancje danej klasy?
Można użyć fabryce statycznego inicjatora podczas wystąpienia swoją klasę (Singleton pattern), a następnie dodać każdy wygenerowany instancji w konstruktorze fabryki do listy ...
coś takiego:
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
}
}
Słaby zestaw haszyszu może być ładniejszą kolekcją, ponieważ wyczyści takie odniesienia w sposób przezroczysty. 'Set
To nie jest możliwe rozwiązanie mojego obecnego problemu ... Chcę uzyskać wystąpienia klas innych firm. – barneypitt
Ogólnie. Jeśli korzystasz z interfejsu API debuggera, może to być możliwe (nie sprawdziłem), ale nie powinieneś używać tego innego niż niż do debugowania.
Jeśli Twój projekt tego wymaga, prawdopodobnie warto przemyśleć ten projekt.
od Tworzylibyście je, po prostu trzymaliście (słabe? czy java ma słabe referencje?) odniesienie do każdej instancji. Ale podejrzewam, że każdy projekt wymagający tego ... –