java - 使用具有字符串复杂性的 ArrayStack ADT(java)

标签 java generics stack

我有一个使用泛型的 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/

相关文章:

c - 打印字符串不一致

objective-c - Objective C 在栈上分配对象

c++ - c++中引用的使用

java - 获取实时 Log4J 消息

c# - 没有对多个通用约束的隐式转换

java - 提取字符串的特定部分

java - 如何使用通用方法查找对象的字段?

java - 泛型集合

java - Unix 中的移动操作是原子的吗?

java - 我数据库中的所有数据都应该是可搜索的——MySQL 与 Lucene