java-如何将Map封装到自定义对象中
作者:互联网
我的同事告诉我,使用Maps是懒惰的,而且通常情况下,实际对象可以更好地满足程序员的目的.但是我不知道这样做的最好方法. (对于我来说)键是Enum类型,这使情况更加复杂.
假设我有一个Hashmap< MyEnum,MyObj>它应该具有四个哈希映射键(MyEnum中的每个值一个). MyObj哈希图值是数据库中具有给定枚举值的多个MyObjs中的最新值.
我的最佳猜测涉及一个具有四个字段的对象,或者可能是两个按顺序包含键和值的数组.
不知道这是否清楚(星期四下午5点=我快要死了),因此请在必要时进行澄清.
解决方法:
尽管使用Maps达到预期目的没有什么错,但有时Maps被误用作强类型对象的替代品.
String firstname = (String)myMap.get("first_name");
…相对于:
String firstName = person.getFirstName();
由于Java将枚举实现为类,因此您可能需要考虑将要查找的值直接放在枚举类上:
MyEnum val = getVal();
MyObj obj = val.getMostRecentMyObj();
但是我会注意关注点的分离,以确定这是否真的有意义.很有可能地图是适合此工作的工具.
标签:enums,oop,map,java 来源: https://codeday.me/bug/20191121/2051701.html