<分区>
Possible Duplicate:
How to get Boolean value from Object
我正在尝试获取 Object
newValue
的 Boolean
值并在此处获取 ClassCastException
。
虽然,我将其类型转换为 Boolean
为什么会出现此 exception
?
Boolean changedValue=!((Boolean)newValue);
你能解释一下吗?谢谢。
<分区>
Possible Duplicate:
How to get Boolean value from Object
我正在尝试获取 Object
newValue
的 Boolean
值并在此处获取 ClassCastException
。
虽然,我将其类型转换为 Boolean
为什么会出现此 exception
?
Boolean changedValue=!((Boolean)newValue);
你能解释一下吗?谢谢。
最佳答案
String
和Boolean
是完全不同的类,因此您不能在它们之间进行转换。您需要使用 Boolean.valueOf()
从 String.
中获取 Boolean
。
它不像 C 或 C++,在那里你可以强制转换任何东西(当然,如果你不小心,这样做会遇到很多麻烦,因为不能保证任意转换会有任何意义) .
而且它也不像 C++,如果定义了类型转换运算符,强制转换将变成对其中一个转换运算符的自动调用。 Java 中没有对象类型之间的自动转换。
关于java - ClassCast 异常无法将字符串转换为 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628628/