检查报告java.util.Vector或java.util.hashtable的任何用法。虽然仍然受到支持,但这些类已被JDK 1.2 Collection类淘汰,并且可能不应该在新的开发中使用....
我有一个Java项目,它使用vector无处不在,而我正在使用最新的JDK 8。我想知道我是否可以在最新的java上运行该应用程序。
并告诉我是否可以使用其他关键字为ArrayList,例如Vector for new java。
答案 0 :(得分:7)
首先,虽然Vector
大部分已被ArrayList
淘汰,但使用起来仍然完全合法,而且您的项目运行得很好。
但是,如上所述,不建议使用。主要原因是它的所有方法都是synchronized
,这通常是无用的,可能会大大减慢您的应用程序。任何未在方法范围之外共享的局部变量都可以安全地替换为ArrayList
。在用ArrayList
替换之前,应仔细检查方法参数,返回值和数据成员,以免您无意中更改同步语义并引入难以发现的错误。