25 votes

Obtenir toutes les instances d'une classe

Duplicata possible :
Existe-t-il un moyen simple d'obtenir toutes les instances d'un objet d'une classe spécifique en Java ?

En java, existe-t-il un moyen d'obtenir toutes les instances d'une certaine classe ?

29voto

aleroot Points 30853

Vous pouvez utiliser un initialisateur statique Factory lorsque vous instanciez votre classe ( Modèle singleton ) et ensuite ajouter chaque instance générée dans le constructeur de l'usine à une liste ...

Quelque chose comme ça :

  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 
    }
  }

9voto

Jon Skeet Points 692016

Pas en général. Si vous utilisez l'API du débogueur, cela peut être possible (je n'ai pas vérifié) mais vous ne devriez pas l'utiliser. autre que pour le débogage.

Si votre conception l'exige, il est probablement utile de la repenser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X