我有一个关于 Java 泛型的基本问题: map 的以下两个初始化之间有什么区别?
Map<String, String> maplet1 = new HashMap<String, String>();
Map<String, String> maplet2 = new HashMap();
我知道第一个初始化是在对象构造中指定泛型,但我不理解这样做的潜在后果,而不是后面的对象构造 (maplet2)。在实践中,我总是看到代码使用 maplet1 结构,但我不明白这样做比其他结构有什么好处。
最佳答案
第二个 Map
被分配给原始类型,将导致编译器警告。您可以简单地使用第一个版本来消除警告。
关于java - 了解对象初始化中的泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15124748/