当我们创建对象时,我不知道是否必须插入泛型类型。
1. Map<A,B> foo = new HashMap<A,B>()
2. Map<A,B> foo = new HashMap<>()
有没有人能分辨出来?
答案 0 :(得分:2)
在Java 7中引入了菱形运算符(<>
)并为您节省了一些输入。没有区别。
答案 1 :(得分:2)
两者之间没有区别。第二个是在Java 7中引入的 - <>
被称为菱形运算符,是第一个的简写。
答案 2 :(得分:2)
Java一直被批评为过于冗长,这是在Java7中引入菱形(<>
)的原因之一。
编译器通过检查表达式左侧的type-parameters来推断类型参数,并且您不需要为右侧显式提供类型参数 - 手边。
明确提供类型参数和依赖类型推断功能之间没有真正的区别。