我的同事告诉我,使用 map 是懒惰的,而且通常情况下,实际对象会更好地满足程序员的目的。但我不知道这样做的最佳方法。由于 key 是枚举类型,这对我来说更加复杂。
假设我有一个 Hashmap<MyEnum, MyObj>
预计有四个 hashmap 键(一个对应 MyEnum
中的每个值)。 MyObj
hashmap 值是数据库中具有给定枚举值的几个 MyObjs 中的最新值。
我最好的猜测涉及一个有四个字段的对象,或者可能是两个按顺序包含键和值的数组。
不确定这是否清楚(周四下午 5 点 = 我脑死亡),因此如有必要,请寻求澄清。
最佳答案
虽然将 map 用于其预期目的并没有错,但 map 有时会被误用为强类型对象的替代品。
String firstname = (String)myMap.get("first_name");
...相对于:
String firstName = person.getFirstName();
由于 Java 将枚举实现为类,您可能需要考虑将要查找的值直接放入枚举类中:
MyEnum val = getVal();
MyObj obj = val.getMostRecentMyObj();
但我会注意关注点分离以确定这是否真的有意义。 map 很可能是这项工作的合适工具。
关于java - 如何将 Map 封装到自定义对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25068890/