java - 如何在泛型类型中抽象定义泛型类型?

标签 java generics abstraction

假设我有一个 HashMap 的 HashMap 定义如下:

hashMap = new HashMap<String, HashMap<String, Integer>>();

我如何对此进行抽象以使定义更清晰?

最佳答案

如果我正确解释你的问题,你有一个将对象映射在一起的集合,并且想知道是否有一种读起来更好的方法。

最好为每个元素定义一个目的,例如:

Map<String,        // ZIP code   (e.g. 6009)
    Map<String,    // Name       (e.g. John Smith)
        Integer>>  // Age        (e.g. 42)

在这种情况下,您可以创建以下类:

class Person {
  private String name;
  private Integer age;

  // Constructor and getters etc.
}

这可以简化您的收集:

Map<String,         // ZIP/Postal code
    List<Person>>   // List of people in this postal code.

如果您愿意,您可以进一步简化它,但这可以让您了解要采取的步骤。最重要的是使用有意义的名称。

关于java - 如何在泛型类型中抽象定义泛型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393410/

相关文章:

java - 凸多面体的质心

objective-c - 我将在哪里实现一个通用方法,供 3 ​​个不同的 View Controller 使用?

c# - 调用 EventHandler 泛型,TargetParameterCountException

c# - 从 Entity Framework 实现中抽象出 DAL

java - 禁用 AdaptiveSizePolicy 时的并行垃圾收集器问题

java - 如何从Tomcat服务器向客户端发送数据?

c# - 如何在 conversionType 为十进制且输入为 "40.00"时使用 Convert.ChangeType()

javascript - Javascript 中的归约函数

java - 桥接模式是否将抽象与实现分离?

java - 通过 HttpGet 持续连接?