如何解决什么时候使用Stack <Integer> st = new Stack <Integer>;什么时候使用堆栈st = new Stack;?
在Java中,什么时候使用
Stack<Integer> st = new Stack<Integer>();
以及何时使用
Stack st = new Stack();
对于Stack st = new Stack()
,我将不得不创建自己的类Stack
,除了它们之间是否还有其他特定区别?
解决方法
何时使用
Stack st = new Stack();
?
从不。这种样式早于Java中泛型的存在。它已完全替换为通用用法,即Stack<Integer>
。有时您需要使用后期绑定,并且不知道哪种类型将存储在堆栈中。但是即使那样,您仍然应该使用通配符,例如Stack<?>
。
如果您使用通用类而不指定通用参数,则现代IDE会警告您。
我将必须创建自己的课程
Stack
您不能,您可以非通用地使用通用的Stack
类(即java.util.Stack<T>
)。 Java允许(对于 any 泛型类,而不仅限于Stack
)。但是不鼓励,请参见上文。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。