gpt4 book ai didi

java - 如何将 ArrayList 转换为接口(interface)?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:19:39 26 4
gpt4 key购买 nike

以下代码给我错误“类型不匹配:无法从 ArrayList 转换为 StackInterface”。我将如何转换或使用不正确的 ArrayList 数据类型?

public class PostFixStack<T> implements StackInterface<T>
protected ArrayList<T> elements; // ArrayList that holds stack elements
public PostFixStack() {elements = new ArrayList<T>();
}

public int evaluate(String expression){
Scanner tokenizer = new Scanner(expression);
StackInterface<Integer> stack = new ArrayList<T>();

最佳答案

答案是:你不需要。

当你转向 javadoc对于 ArrayList,您可以在此处找到:

All Implemented Interfaces:

Serializable, Cloneable, Iterable, Collection, List, RandomAccess

StackInterface 不存在。因此,ArrayList 不能永远转换为该类型。

因此,您宁愿需要:

StackInterface<Integer> stack = new PostFixStack<>();

换句话说:您的 stack 实现类使用 ArrayList 这一事实是该实现的内部细节,当您想要创建一个堆栈时,您可以实例化 实现,而不是别的!

关于java - 如何将 ArrayList 转换为接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54900649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com