【发布时间】:2017-03-29 00:28:48
【问题描述】:
我已经在使用Stack 什么使用TOKEN 的类类型,现在我想首先使用堆栈创建和初始化新的Stack。
首先我觉得C#的代码,比如
Stack<Token> e_infixTokens = new Stack<Token>(infixTokens);
C# 的 Stack 构造函数使用另一个堆栈作为参数,但我认为 JAVA 没有。我说的对吗?
所以,这是我的代码的开始部分,
private Stack<Token> infixTokens;
private Stack<Token> postfixTokens;
Formula(String formula){
this.formula = formula;
this.infixTokens = new Stack<>();
this.postfixTokens = new Stack<>();
下面几行,我用这个语句。
Stack<Token> e_infixTokens = new Stack<>(infixTokens);
发生错误。错误信息是:
Stack中的Stack()不能应用于Java.util.Stack
【问题讨论】:
-
不完全清楚你在找什么。是否希望新堆栈 (
e_infixTokens) 与Stack与infixTokens相同?或者您想创建一个新的Stack,它是infixTokens的副本?对于非 C# 用户来说,一些澄清会很好。 -
尝试阅读您正在使用的类的 javadoc。您在那里获得了所有可用 ctor 和方法的列表。