Java的Vector.add()和Vector.addElement()之间的区别?
2022-09-02 19:59:11
请解释方法和方法之间的区别,以及示例代码片段Vector.add()
Vector.addElement()
请解释方法和方法之间的区别,以及示例代码片段Vector.add()
Vector.addElement()
add()
来自接口,它是Java 1.2中添加的Java Collections Framework的一部分。 早于此,并对其进行了改造。具体区别是:List
Vector
addElement()
是。 不是。在 Java 集合框架中,如果要同步这些方法,请将集合包装在 ;和synchronized
add()
Collections.synchronizedList()
add()
返回一个布尔值表示成功。 具有返回类型。addElement()
void
从技术上讲,这种差异不是API的一部分。这是一个实现细节。synchronized
赞成使用这些方法。就像我说的,如果你想做:List
synchronized
List
List<String> list = Collections.synchronizedList(new ArrayList<String>());
list.add("hello");
方法签名不同,add 返回 true,而 addElement 为 void。
与 http://www.docjar.com/html/api/java/util/Vector.java.html 相比
153 public synchronized boolean add(E object) {
154 if (elementCount == elementData.length) {
155 growByOne();
156 }
157 elementData[elementCount++] = object;
158 modCount++;
159 return true;
160 }
和
223 public synchronized void addElement(E object) {
224 if (elementCount == elementData.length) {
225 growByOne();
226 }
227 elementData[elementCount++] = object;
228 modCount++;
229 }