3

java.lang.ref.StrongReferencejdk1.7为什么没有class?(参见 JDK-6392701

我正在尝试实现一种需要能够以不同的参考强度存储对象的行为。所以我的第一个想法是使用类型字段Reference<T>并分配具有所需强度的参考。但是没有强引用的类,Reference手动扩展似乎是完全错误的方向。

另一种方法是有两个字段,一个是 a Reference,另一个是所需类型,并且只有一个集合,但 aReference强烈存储值将使代码更清晰。

4

1 回答 1

2

...并且手动扩展参考似乎是完全错误的方向。

比那更糟。根据API

因为引用对象是与垃圾收集器密切合作实现的,所以这个类不能直接子类化。

如果您希望能够在同一结构中存储多种不同类型的引用,包括强引用,最好的办法可能是制作自己的引用接口并进行两种实现:一种包装 a Reference<T>,另一种包装普通对象。

于 2014-06-13T09:26:04.960 回答