gpt4 book ai didi

java - 无法从 Object 转换为 char

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

据我所知,我的代码运行完美,但我仍然收到错误“无法从对象转换为字符”,我想知道是否有人可以向我解释问题所在,以及我是否可以用另一种方式来解决不会导致错误。

这是导致错误 char op = (char) term; 的代码位。它是从中缀到后缀的转换器

//Take terms off the queue in proper order and evaluate
private double evaluatePostfix(DSAQueue<Object> postfixQueue) {
DSAStack<Double> operands = new DSAStack<Double>();
Object term;

//While still terms on queue, take term off.
while(!postfixQueue.isEmpty()) {
term = postfixQueue.dequeue();
if(term instanceof Double) { //If term is double put on stack
operands.push((Double) term);
}
else if(term instanceof Character) { //If term is character, solve
double op1 = operands.pop();
double op2 = operands.pop();
char op = (char) term;
operands.push(executeOperation(op, op2, op1));
}
}
return operands.pop(); //Return evaluated postfix
}

任何帮助(甚至指点我一些阅读)将不胜感激。

最佳答案

你可以改变这一行:

char op = (Character) term;

说明:在 Java 6 中,您不能将 Object 转换为原始类型,但您可以将其转换为 Character(这是一个类),剩下的就是拆箱 :)

编辑:或者,您可以将项目的语言级别提高到 Java 7(或 8...)

关于java - 无法从 Object 转换为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23382888/

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