我有一个使用泛型的 ArrayStack 类。在另一个类中,我使用这个 ArrayStack 来接收字符串。当我调用 pop() 方法时,Stack 返回顶部对象。我遇到的问题是,当我尝试这样做时:
//temp is a String
//tempStack is an ArrayStack<String>
temp = tempStack.pop();
我收到以下错误:
incompatible type
required: java.lang.String
found: java.lang.Object
如何让编译器知道 pop() 在这种情况下返回一个字符串?
最佳答案
你是如何实例化tempStack
的?它应该是这样的:
ArrayStack<String> tempStack = new ArrayStack<String>();
并且 pop()
方法应该返回泛型类型:
public T pop() {
// implementation details
}
关于java - 使用具有字符串复杂性的 ArrayStack ADT(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045686/