差异映射<A,B> foo = new HashMap<A,B>() 和 new HashMap<>()?

  • 本文关键字:new HashMap 映射 foo java generics
  • 更新时间 :
  • 英文 :


当我们创建对象时,我不知道是否必须插入泛型类型

 1. Map<A,B> foo = new HashMap<A,B>()  
 2. Map<A,B> foo = new HashMap<>() 

有人能分辨出来吗?

菱形操作符(<>)是在Java 7中引入的,可以节省一些输入。没有区别。

两者没有区别。第二个是在Java 7中引入的——<>被称为菱形操作符,是第一个操作符的简写。

Java一直被批评过于啰嗦,这也是在Java7中引入菱形(<>)的原因之一。

编译器通过检查表达式左侧的类型参数来推断类型参数,而不需要显式地为右侧提供类型参数。

显式提供类型参数和依赖类型推断特性之间没有真正的区别。

最新更新