【发布时间】:2011-07-27 17:25:28
【问题描述】:
我想知道是否只有安全风险或还有其他好处 我在参数化列表时得到。
我收到此警告
List 是原始类型 对泛型类型 List 的引用应该是 参数化
例如在声明列表时
List myList;
如果我改成这个,那么就没有警告
List<?> myList;
我明白为什么会有警告。 我有一个包含很多警告的代码,我想知道是否值得花时间修复所有这些警告。 我的问题是: 如果我不参数化列表,代码会运行得更慢吗? 我的意思是它必须在运行时进行更多检查吗?
编辑: 如果我更改为特定类型会影响性能吗?
List<String> myList;
【问题讨论】:
-
它不会影响性能,但维护不使用原始类型的代码要容易得多。另一个好处是,当您从列表中获取项目时,您不必强制转换对象。但是请注意,只是从原始类型更改为 List> 并没有帮助。
-
类型擦除意味着运行时性能不受影响。
标签: java generics warnings parameterized