//对于add方法
/*Appends the specified element to the end of this Vector.*/
public synchronized boolean add(E e) {
modCount++;
ensureCapacityHelper(elementCount + 1);
elementData[elementCount++] = e;
return true;
}
//对于push方法
/*Pushes an item onto the top of this stack. This has exactly the same effect as:
addElement(item)*/
public E push(E item) {
addElement(item);
return item;
}
/*Adds the specified component to the end of this vector, increasing its size by one. */
public synchronized void addElement(E obj) {
modCount++;
ensureCapacityHelper(elementCount + 1);
elementData[elementCount++] = obj;
}
通过stack类add方法和push方法源代码可知, add方法其实调用的是Vector类的add方法,返回的是一个boolean类型的值,而push方法则是Stack类在Vector类的addElement方法基础上进修了一些修改,返回当前添加的元素。