Imaginez que j'ai la situation suivante:Comment obtenir le nom de champ d'une référence Java (faible) pointant vers un objet dans une autre classe?
Test1.java
import java.lang.ref.WeakReference;
public class Test1
{
public WeakReference fieldName;
public init()
{
fieldName = new WeakReference(this);
Test2.setWeakRef(fieldName);
}
}
Test2.java
import java.lang.ref.WeakReference;
public class Test2
{
public static setWeakRef(WeakReference weakRef)
{
//at this point I got weakRef in an other class.. now, how do I get the field name this reference was created with? So that it returns exactly "fieldName", because that's the name I gave it in Test1.java?
}
}
A l'emplacement du commentaire que j'ai reçu la référence faible créée en une autre classe. Comment devrais-je récupérer le nom de champ avec lequel cette référence faible a été créée, dans ce cas "fieldName"?
Merci d'avance.
"Bien sûr, cet exemple ne fonctionne que si vous avez un seul champ WeakReference dans Test1" C'est le problème. Je ne peux pas tester si la référence du champ est égale à la référence faible, ou quelque chose? – Tom
@Tom, voir ma mise à jour. –
Merci beaucoup! – Tom