除了确保key是一个String作为编译类型之外,还有其他任何优点吗?还是可以省略?我存储的值可以是多种类型
答案 0 :(得分:4)
声明Map
没有泛型类型信息已弃用,并且大多数IDE都在此处生成警告。即使它是Map<Object, Object>
,这一点也很重要。在编译时确保密钥是String
实际上也非常多。
从技术上讲,这些类型在编译期间会被删除,因此在运行代码时没有任何优势。但是再次 - 从Java 5开始,你应该总是包含泛型类型信息。
答案 1 :(得分:2)
使用Map<String, Object>
的好处主要是代码可读性。
其他开发人员更容易阅读您的代码并节省一些转换操作。
编译后,泛型被删除,因此它对应用程序没有任何实际影响。
您还可以看到:reason generics were introduced in java 5