当我们创建对象时,我不知道是否必须插入泛型类型
1. Map<A,B> foo = new HashMap<A,B>()
2. Map<A,B> foo = new HashMap<>()
有人能分辨出来吗?
菱形操作符(<>
)是在Java 7中引入的,可以节省一些输入。没有区别。
两者没有区别。第二个是在Java 7中引入的——<>
被称为菱形操作符,是第一个操作符的简写。
Java一直被批评过于啰嗦,这也是在Java7中引入菱形(<>
)的原因之一。
编译器通过检查表达式左侧的类型参数来推断类型参数,而不需要显式地为右侧提供类型参数。
显式提供类型参数和依赖类型推断特性之间没有真正的区别。