这不是一个紧迫的问题,我只是好奇。
使用 push() 将另一个对象添加到 Stack 和使用 addElement() 添加对象有什么区别?
我在其他地方发现 push() 和 add() 之间没有区别,因为 add() 是从 Collections 继承的,但我仍然很想知道是否有什么我应该知道的。
另外,它们是否都具有相似的返回类型?
继承的addElement方法返回一个boolean指示成功。
该push方法忽略返回boolean、调用addElement并返回项目本身。来自链接的源代码:
public E push(E item) {
addElement(item);
return item;
}
addElement是 的一部分Vector,它Stack继承。
push是一种实际的Stack方法。
这是由java中的继承引起的。是由扩展addElement()的超类的方法。VectorStack
你应该看到这个(特别是继承树): http ://docs.oracle.com/javase/7/docs/api/java/util/Stack.html