我有一个使用泛型的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()在此实例返回一个String?
答案 0 :(得分:2)
你是如何实例化tempStack
的?它应该是这样的:
ArrayStack<String> tempStack = new ArrayStack<String>();
pop()
方法应返回泛型类型:
public T pop() {
// implementation details
}