为什么老师在视频里把Object类型强制转换为int的时候没报错,我自己在转换的时候却报错了???????
8 回答
蒲柳隐逸
TA贡献5条经验 获得超1个赞
我的环境是可以的,这得益于jdk1.5的自动装箱与拆箱,你的版本不可能比1.5更低了。。。
或者你可以这样,更直观 。
Integer.parseInt(map.get("id").toString())
手插口袋_
TA贡献25条经验 获得超45个赞
这基础没谁了。。。。。
首先你语法上有错,Object 不可以转换为int 原因不知道吗?
一个是对象 一个是基本类型。。。。
如果你要语法上不报错的话, 你可以吧 Int 更换为 Integer(Int的封装对象)
对象强转对象没问题
还有Object 是一个父容器
强制转换之前必须要判断是否是你要的类型例如:
Map<String, Object> map=new HashMap<String, Object>(); map.put("1", "hello world"); if(map.get("1") instanceof Integer){ Integer a=(Integer) map.get("1"); System.out.println(a); }else if(map.get("1") instanceof String){ String a=map.get("1").toString(); String a1=(String) map.get("1"); System.out.println(a+"\n"+a1); }
历史与足迹
TA贡献6条经验 获得超6个赞
把代码贴上来啊,你这么问太笼统了,首先JAVA中所有类的父类都是Object, 如果你定义的Object对象就是1、2的整型,在强制类型转换的时候就不会报错,如果是"str"等字符串对象时不可能被转换为整型的。
添加回答
举报
0/150
提交
取消