假设我们必须有 WeakReference 和“强引用”列表的情况。但是 Java 中没有 StrongReference 类。我的解决方案是
保留对象列表
List<? extends Object> list =new ArrayList();
当我们从列表中获取元素时,请检查:
if(list.get(i) instanceof WeakReference){
MyClass myObject = ((MyClass)((WeakReference) list.get(i)).get());
if(myObject != null){
myObject.doSomething();
}
}else{
MyClass myObject = ((MyClass)list.get(i));
myObject.doSomething();
}
是否有更好的解决方案可以将强引用和弱引用放在一个集合中?