有什么好的方法可以让两个不可变的对象相互引用吗?
2022-09-03 13:06:56
以以下两个 Java 类为例:
class User {
final Inventory inventory;
User (Inventory inv) {
inventory = inv;
}
}
class Inventory {
final User owner;
Inventory (User own) {
owner = own;
}
}
有没有办法不使用反射*来实现这一目标?我实际上并不期望它是,但问它并没有什么坏处。
更新:由于在字节码构造中有两个步骤(1.分配对象,2.调用构造函数**),是否可以(ab)使用手写字节码或自定义编译器来执行此操作?我说的是首先对两个对象执行步骤 1,然后使用步骤 1 中的引用对两个对象执行步骤 2。当然,这样的事情会相当麻烦,而这部分问题是学术性的。
(*因为反射可能会给安全经理带来麻烦)
(**说我有限的知识)