微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么时候使用Stack <Integer> st = new Stack <Integer>;什么时候使用堆栈st = new Stack;?

如何解决什么时候使用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 举报,一经查实,本站将立刻删除。