我目前正在审查大型 Java EE 应用程序中各种警告的安全含义。由于大部分代码都有几年的历史,它包含了原始集合类型的许多用途:
List items = new List();
而不是参数化的集合类型:
List<Item> items = new List<Item>();
我能想到的唯一安全隐患是原始类型不能在编译时进行静态类型检查,并且可能会导致运行时错误,例如ClassCastException
,根据代码中发生这种情况的位置,可能会导致拒绝服务.
使用我没有想到的原始类型还有其他含义吗?