天天看点

Java Object类型与值类型之间的相互转化

如上方代码所示,函数foo会传递一个object类型的变量value过来(传递进来的值确实是布尔值,不要问我为什么不直接在foo函数中将object改为boolean,程序确实必须写object,并且这个问题不在今天的讨论范围),然后同事在函数中将其强制转换为boolean类型,在eclipse中运行一段时间也确实没什么问题,可今天打包之后发现程序运行到这一行的时候抛了异常,object cannot be cast to boolean.

我突然意识到,object类型的value是一个对象,而boolean是值类型,于是我把boolean换成其对应的包装器类型boolean,问题完美解决。

虽然问题是解决了,但是还是不明白为什么在eclipse中测试的时候这段代码能够运行而打包以后就不能运行了?(项目上使用的是java7,我自己在个人电脑上使用了java8也没问题)

继续阅读