Java中HashMap定义的有效性?

时间:2017-12-13 15:28:11

标签: java generics hashmap

class Node {
    long data;
    Node node;
    int rank;
}
  1. private Map<Long, Node> map = new HashMap<>();

  2. private Map<Long, Node> map = new HashMap<Long,Node>();

  3. 我正在实现类Node

    的hashmap

    我的问题是上面提到的2个Hashmaps的有效性(两者是否都是核心?)。 如果它们有效,两个初始化的区别是什么?

2 个答案:

答案 0 :(得分:3)

根据文件:https://docs.oracle.com/javase/tutorial/java/generics/types.html

  

在Java SE 7及更高版本中,您可以替换所需的类型参数   使用一组空类型调用泛型类的构造函数   参数(&lt;&gt;),只要编译器可以确定或推断出   从上下文中键入参数。这对尖括号&lt;&gt;是   非正式地称钻石。

从Java 7开始,两者都是正确的。

答案 1 :(得分:0)

两者都是创建地图的有效方法,但以下是我们不需要在右侧声明数据类型的最新方法。 私人地图map = new HashMap&lt;&gt;();

基本上,Java正朝着一种不那么冗长的语言发展。