用arraylist替换向量

时间:2019-01-16 16:01:26

标签: java

我正在研究一个遗留代码库,该代码库到处都引用了java.util.Vector。我收到声纳错误,告诉我将其替换为ArrayList。由于该引用无处不在,因此我想采取所有必要的预防措施,以避免用ArrayList替换Vector可能引起的任何问题。

我对此一无所获(可能是因为它已经是一个老问题了,而且大多数人肯定在十年前就已经走过了这个问题)。我应该注意什么?由于vector是线程安全的,有什么简单的方法可以替换它而又不会引起线程问题?

仅供参考,这是一个Web项目,没有明确使用多线程。

1 个答案:

答案 0 :(得分:0)

Vector已同步,并且不接受null值。您可以使用

List<String> l = Collections.synchronizedList(new ArrayList<String>())

,但不是100%相同的替代品。如果您的项目中没有良好的测试,请不要替换Vector并添加//NOSNAR以在给定的行中禁用声纳检查。