java - ClassCast 异常无法将字符串转换为 boolean 值

标签 java casting

<分区>

Possible Duplicate:
How to get Boolean value from Object

我正在尝试获取 Object newValueBoolean 值并在此处获取 ClassCastException。 虽然,我将其类型转换为 Boolean 为什么会出现此 exception

Boolean changedValue=!((Boolean)newValue);

你能解释一下吗?谢谢。

最佳答案

StringBoolean 是完全不同的类,因此您不能在它们之间进行转换。您需要使用 Boolean.valueOf()String. 中获取 Boolean

它不像 C 或 C++,在那里你可以强制转换任何东西(当然,如果你不小心,这样做会遇到很多麻烦,因为不能保证任意转换会有任何意义) .

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

关于java - ClassCast 异常无法将字符串转换为 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628628/

相关文章:

Java调用枚举的静态方法,该方法作为类类型变量传递而无需强制转换

java - 网络对象的 NetworkInfo.isConnected()(在 API 23 中已弃用)的替代方案

java - 尝试嵌套 JSF 表达式字符串

Mysql转换为十进制给出99.9

java - 将泛型类型转换为子类型

Java 类型转换和继承

python - (pytorch) 我想将 [0 255] 整数张量归一化为 [0 1] 浮点张量

java - 将我的数据库移动到 SD 卡不起作用

java - JavaFX 中的透明 Accordion 背景

java - APACHE POI - 将单元格样式设置为时间