有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将地图封装到自定义对象中

我的同事告诉我,使用地图是懒惰的,而且通常程序员的目的是通过实际对象更好地实现。但我不知道最好的方法。由于密钥是枚举类型,这一点(对我来说)更加复杂

假设我有一个Hashmap<MyEnum, MyObj>,它应该有四个hashmap键(每个MyEnum中的值对应一个)。hashmap值是数据库中具有给定enum值的几个myobj中最新的一个

我最好的猜测是一个有四个字段的对象,或者两个按顺序包含键和值的数组

不确定这是否清楚(现在是周四下午5点=我脑死亡),所以请在必要时要求澄清


共 (1) 个答案

  1. # 1 楼答案

    虽然将映射用于其预期目的并没有错,但映射有时被误用为强类型对象的替代品

    String firstname = (String)myMap.get("first_name");
    

    。。。而不是:

    String firstName = person.getFirstName();
    

    由于java实现枚举类,所以您可能需要考虑将您要寻找的值直接放在EnUM类上:

    MyEnum val = getVal();
    MyObj obj = val.getMostRecentMyObj();
    

    但我会注意关注点的分离,以确定这是否真的有意义。地图很可能是这项工作的合适工具