java-如何将对象(store char)类型转换为整数 以下是我的代码的一部分 在方法打印,其中有❤❤❤❤❤签署,我需要testSample.pop()的值,以完成我的方法。但由于它返回的变量是一个对象类型,我无法强制转换它,然后如何将其转换为整数。谢谢你的帮助。
public class Stack {
public static int capacity = 100;
private Object S[];
private int top = -1;
public Stack(){
this(capacity);
}
public Stack(int cap){
capacity = cap;
S = new String[capacity];
}
public boolean isEmpty(){
return(top<0);
}
public int size(){
return(top+1);
}
public void push(Object x){
if(size() == capacity) throw new StackException("Stack overflow");
S[++top] = x;
}
public Object pop(){
Object x;
if(isEmpty()) throw new StackException("Stack is empty");
x=S[top];
S[top--] = null;
return x;
}
public void print(String sign){
Stack testSample = new Stack();
int num1 = 0; int num2 = 0;
for(int i = 0; i < sign.length(); i++){
char c = sign.charAt(i);
if(c == '('){
testSample.push(c);
}
else if (c == ')'){
num1 = ❤❤❤❤❤❤
num2 = c;
for(int j = num1+1; j < num2; j++){
char a = sign.charAt(i);
if(!(c == '('||c == ')'))
System.out.print(a);
}
System.out.println();
}
}
答案 0 :(得分:0)
当它返回一个Object时,将其转换为String,然后使用Integer.parse将其转换为Integer:
Integer.parseInt(testSample.pop().toString());
答案 1 :(得分:0)
由于您将Character值推送到堆栈,即使它作为Object弹出,您也应该能够简单地将它转换为Character,然后获取与Character相关的int值。
Integer.valueOf((Character) obj); //obj is the value popped up