Java 何时使用堆栈<;整数>;st=新堆栈<;整数>;(); 何时使用Stack st=new Stack();?

Java 何时使用堆栈<;整数>;st=新堆栈<;整数>;(); 何时使用Stack st=new Stack();?,java,class,object,Java,Class,Object,在Java中,何时使用 Stack<Integer> st = new Stack<Integer>(); Stack st = new Stack(); 对于Stack st=new Stack(),我必须创建自己的类Stack,除此之外,它们之间还有其他特殊的区别吗 何时使用Stack st=new Stack() 从来没有。这种风格早于Java中泛型的存在。它完全被通用用法所取代,即堆栈。有时,您需要使用后期绑定,并且不知道哪种类型将存储在堆栈中。但即使这样,

在Java中,何时使用

Stack<Integer> st = new Stack<Integer>();
Stack st  = new Stack();
对于
Stack st=new Stack()
,我必须创建自己的类
Stack
,除此之外,它们之间还有其他特殊的区别吗

何时使用
Stack st=new Stack()

从来没有。这种风格早于Java中泛型的存在。它完全被通用用法所取代,即
堆栈
。有时,您需要使用后期绑定,并且不知道哪种类型将存储在堆栈中。但即使这样,您也应该使用通配符,例如
Stack

如果使用泛型类而不指定泛型参数,现代IDE将发出警告

我必须创建自己的类
Stack

如果没有,可以非通用地使用generic
Stack
类(即,
java.util.Stack
)。Java允许这样做(对于任何泛型类,而不仅仅是对于
堆栈
)。但这是令人沮丧的,见上文

何时使用
Stack st=new Stack()

从来没有。这种风格早于Java中泛型的存在。它完全被通用用法所取代,即
堆栈
。有时,您需要使用后期绑定,并且不知道哪种类型将存储在堆栈中。但即使这样,您也应该使用通配符,例如
Stack

如果使用泛型类而不指定泛型参数,现代IDE将发出警告

我必须创建自己的类
Stack

如果没有,可以非通用地使用generic
Stack
类(即,
java.util.Stack
)。Java允许这样做(对于任何泛型类,而不仅仅是对于
堆栈
)。但不鼓励这样做,请参见上文。

“对于
Stack st=new Stack()
,我必须创建我自己的类堆栈”您可以在这里提供有关您的推理的更多详细信息吗?请随意使用选项来更正/澄清问题本身。“对于
Stack st=new Stack()
我必须创建我自己的类堆栈”你能在这里提供更多关于你推理的细节吗?请在问题本身中随意使用选项来纠正/澄清这一点。