【发布时间】:2010-11-15 09:59:11
【问题描述】:
如果我有一个 Stack 类
class Stack<E> {}
现在如果我这样做:
1)Stack<Integer> s = new Stack()
2)Stack s = new Stack<Integer>()
3)Stack s = new Stack()
谁能解释一下这些交互(通用原始)的原因?
主要是我的疑问在于第 1 点。事实上,如果我这样做是不安全的,因为该堆栈可以存储除整数以外的类型。是的,但如果我有推送方法并尝试存储 一个整数以外的值,编译器会阻止我......所以当我有那个不安全的操作时?
【问题讨论】:
-
我不明白 - 你想要有一个堆栈,你可以在其中推送其他东西,然后是整数(例如整数和双精度数)还是只想使用一种类型的堆栈(整数) 让编译器帮你?
-
不,我想要一个具有一种类型的堆栈,并且想知道如果我执行该任务会发生什么。