具有与 Class 本身相同类型的 class 变量
a class variable having the same type of Class itself
今天我在工作地点看到一个class类似的:
public class A {
private Map<String, A> myMap = Maps.newHashMap();
}
代码可以编译、运行并执行它应该执行的操作。但它可以重构为不同的设计。但是我不明白为什么选择这个设计。
你可以做这样的傻事:
this.myMap.get("x").myMap.get("x").myMap.get("x");
我的问题:
真的有什么好的情况需要应用这样的设计吗?为什么?
一棵树立即浮现在脑海中:一个节点包含一个节点列表。
一个人有children,也是人,谁也可以有children
今天我在工作地点看到一个class类似的:
public class A {
private Map<String, A> myMap = Maps.newHashMap();
}
代码可以编译、运行并执行它应该执行的操作。但它可以重构为不同的设计。但是我不明白为什么选择这个设计。
你可以做这样的傻事:
this.myMap.get("x").myMap.get("x").myMap.get("x");
我的问题:
真的有什么好的情况需要应用这样的设计吗?为什么?
一棵树立即浮现在脑海中:一个节点包含一个节点列表。
一个人有children,也是人,谁也可以有children