ClassCast异常无法将String强制转换为Boolean

Dav*_*run 1 java casting

可能重复:
如何从Object获取布尔值

我想要获得Boolean价值Object newValue并到达ClassCastException这里.虽然,我输入它Boolean为什么我得到这个exception

Boolean changedValue=!((Boolean)newValue);
Run Code Online (Sandbox Code Playgroud)

你能解释一下吗?谢谢.

Qua*_*nic 6

A String和a Boolean是完全不同的类,所以你不能在它们之间施放.您需要使用Boolean.valueOf()以获得BooleanString..

它不像C或C++,你可以强行把任何东西投射到任何东西(当然,如果你不小心,你可能会遇到很多麻烦,因为不能保证任意演员都有任何意义).

并且它也不像C++,如果定义了类型转换运算符,则转换将变成对其中一个转换运算符的自动调用.Java中的对象类型之间没有自动转换.