错误:不兼容的类型:无法将对象转换为字符。

3

我已经用ArrayList作为stack来实现了一个字符串反转的方法,但是出现了错误 error: incompatible types: Object cannot be converted to char。我该如何解决?

以下是stack类:

public static class stackl extends ArrayList {
    public boolean isEmptyS() {
        return isEmpty();
    }

    public void push(Object el) {
        add(0, el);
    }

    public Object pop() {
        return remove(0);
    }
}

以下是我的方法:

public static void reverse(String s) {
    stackl s1 = new stackl();
    for (int j = 0; j < s.length(); j++) {
        char ch = s.charAt(j);
        s1.push(ch);
    }

    while (!s1.isEmpty()) {
        char ch = s1.pop();
        System.out.println(ch);
    }
}

你应该阅读一些关于泛型的内容。 - Tom
1个回答

0
你可以使用自动装箱将 char 转换为 Character。 请尝试。
Character ch = s.charAt(j);

此外,拥有一个通用的堆栈就像内置的Stack一样是有意义的(可以查看Stack的代码作为示例)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接