我的同事告诉我,使用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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。