博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Object类型与值类型之间的相互转化
阅读量:5748 次
发布时间:2019-06-18

本文共 581 字,大约阅读时间需要 1 分钟。

public static void main(String[] args) {    boolean var = true;    foo((Object)var);}     public static void foo(Object value) {    boolean var = (boolean)value;    System.out.println(var);}

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

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

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

转载地址:http://fkrzx.baihongyu.com/

你可能感兴趣的文章
关于JavaProcess的一些笔记
查看>>
Pinpoint跨节点统计失败
查看>>
时间戳转换为时间(不为1970)
查看>>
win2003 NAT 访问互联网
查看>>
【Canal源码分析】Canal Server的启动和停止过程
查看>>
机房带宽暴涨问题分析及解决方法
查看>>
wdOS系统下源码编译安装LAMP环境(linux+apache+php+mysql)
查看>>
iOS 绕过相册权限漏洞
查看>>
我的友情链接
查看>>
XP 安装ORACLE
查看>>
八、 vSphere 6.7 U1(八):分布式交换机配置(vMotion迁移网段)
查看>>
[转载] 中华典故故事(孙刚)——19 万岁
查看>>
修改hosts文件里面的主机名,oralce asm无法启动
查看>>
Maven学习总结(十)——使用Maven编译项目gbk的不可映射问题
查看>>
Spring学习总结(2)——Spring的常用注解
查看>>
php5编译安装常见错误和解决办法集锦
查看>>
Linux远程访问及控制
查看>>
Oracle中如何删除某个用户下的所有数据呢
查看>>
MongoDB实战系列之五:mongodb的分片配置
查看>>
Unable to determine local host from URL REPOSITORY_URL=http://
查看>>