如何将字符推入字符串堆栈?
Posted
技术标签:
【中文标题】如何将字符推入字符串堆栈?【英文标题】:How to push a char into a String stack? 【发布时间】:2021-12-01 08:00:01 【问题描述】:我正在尝试将某些字符推入给定的堆栈中:
public static double infixEvaluator(String line)
public static final String SPECIAL_CHARACTER = "()+-*/^";
Stack<String> operators = new Stack<String>();
我假设我会使用 for 循环遍历字符串,然后使用 if 语句来检查索引处的字符是特殊字符还是常规数字
else if (SPECIAL_CHARACTER.contains(line))
char operator = line.charAt(i);
operators.push((String) operator);
使用这个例子:is there a way to add characters to a stack?
但我遇到了一个错误
无法从字符转换为字符串
我很困惑为什么它不允许它投射它?
如果需要更多代码,请告诉我
【问题讨论】:
【参考方案1】:您可以使用String.valueOf
将其转换为String
。
operators.push(String.valueOf(operator));
【讨论】:
【参考方案2】:像operators.push(new String(new char[]operator));
一样使用
问题是char
是一个原始数据类型,其中String
是一个由字符集合组成的对象。这里不能应用强制转换的概念,而是需要使用 char
创建一个新的 String
对象
在下面的答案中,还有很多其他不同的方法可以将 char 转换为 String。
https://***.com/a/15633542/2100051
【讨论】:
我的 Stack以上是关于如何将字符推入字符串堆栈?的主要内容,如果未能解决你的问题,请参考以下文章