java HashMap<Long,String>和HashMap<>之间有什么区别?
两者的区别是什么
Map map = new HashMap<Long, String>();
及
Map map = new HashMap<>();
哪一种更好用?为什么
你可以在下面搜索框中键入要查询的问题!
两者的区别是什么
Map map = new HashMap<Long, String>();
及
Map map = new HashMap<>();
哪一种更好用?为什么
# 1 楼答案
规范
HashMap<Long, String>()
仅用于参数类型。但是,您所展示的两个用例都是不好的(我认为这是错误的),因为map
对象没有参数类型。你应该做的是这和
这两行之间的唯一区别是您是否希望依赖JDK的自动类型推断
附录:
# 2 楼答案
实际上应该是
Map<Long, String> map = new HashMap<>();
,<>
中的2个字段表示映射的键和值类型。所以在这个例子中,它是一个字符串映射,它被长值引用。在声明中包含它们将强制映射确保映射只能具有特定的键/值类型。过去,类型必须包含在赋值的<>
中,但自从Java7以来就不再需要了