Stack
不是Vector
那么为什么Stack类正在扩展(是一种关系)JDK中的Vector类,Stack假设使用push()
& pop()
操作,但因为它扩展了Vector,我可以在堆栈上执行add()
和remove()
操作。
我认为宁可扩展Vector类,Stack类应该使用Vector类作为组合。
答案 0 :(得分:4)
Java的第一个版本中包含Stack
和Vector
。由于当时的互联网狂潮,Java被赶到了市场之前。
与最早版本的Java捆绑在一起的某些类(例如日期时间类)没有经过深思熟虑。他们没有受到同行评审和公众监督,后来的图书馆也是如此,例如通过JAva Community Process以及通过开源项目和行业联盟项目制作的图书馆。
Java Collections framework取代了这两个类。同样,java.time框架取代了旧的日期时间类,例如java.util.Date
/ .Calendar
。旧类保留在Java中,以便与现有应用程序向后兼容,但不应在新代码中使用。