如何将不同数据类型的元素插入到 Java 中的单个堆栈中?
最佳答案
这似乎违背了generics的目的。 , 但这里是这样的:
Stack<Object>s = new Stack<Object>();
s.add("hello");
s.add(1); // int is autoboxed to Integer
要注意的是,当从 Stack
中检索 Object
时,需要一些努力才能找出每个元素的类型——它将需要使用 instanceof
和类型转换:
while (!s.isEmpty()) {
Object e = s.pop();
if (e instanceof String)
System.out.println("String: " + (String)e);
else if (e instanceof Integer)
System.out.println("Integer: " + (Integer)e);
else
System.out.println("Other type: " + e);
}
现在,我们拥有类似于 Java 之前 5 天将泛型添加到语言中的脆弱代码。
关于java - 堆栈的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/906142/