java-如何将对象(存储char)类型转换为整数



java-如何将对象(存储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();
        }
}

当它返回一个Object时,将其转换为String,然后使用Integer。解析将其转换为Integer:

Integer.parseInt(testSample.pop().toString());

由于您将Character值推入堆栈,即使它作为一个对象弹出,您应该能够简单地将其强制转换为Character,然后获得与Character相关的int值。

Integer.valueOf((Character) obj); //obj is the value popped up

最新更新