我有一个 Stack 的通用实现。此 Stack 的对象具有名称 stak 并且类型为Character
。
我试过了
if ( ( ((String)(stak.head).equals("{")) && (str.charAt(i)=='}') ) { /* do something */}
代码编译正确,但它在运行时给我以下错误:
Exception in thread "main" java.lang.ClassCastException: java.lang.Character can
not be cast to java.lang.String
at One.main(One.java:36)
但是,以下代码有效:
if ( ((Character)(stak.head) == '{') && (str.charAt(i)=='}') ) { /* do something */}
你能解释一下为什么字符对象不被转换成字符串吗?