【发布时间】:2021-11-04 17:59:30
【问题描述】:
每当我使用地图时,都会出现这种设计模式。我发现自己在值内也有地图的键。例如:
private Map<UUID, PlayerData> allPlayerData = new HashMap<>();
在这个例子中,我的 UUID 是关键,我在 PlayerData 对象中也有 UUID。
我的问题是,这是一种可接受的设计模式还是有更好的方法来实现这一点?
【问题讨论】:
-
这是一种很常见的模式。我认为这不是问题。
-
是的。考虑一个
Map<Integer, Student>,以便可以轻松检索给定整数Id的Student。Id是Student类中的一个字段是很正常的。 -
确保 PlayerData 的 UUID 字段是不可变的,因为如果由于某种原因它更改了您的地图,您的地图将不再具有正确的映射。
标签: java design-patterns hashmap bukkit code-organization