为什么强制转换时会报错

为什么老师在视频里把Object类型强制转换为int的时候没报错,我自己在转换的时候却报错了???????

wenqu
浏览 2748回答 8
8回答

蒲柳隐逸

我的环境是可以的,这得益于jdk1.5的自动装箱与拆箱,你的版本不可能比1.5更低了。。。或者你可以这样,更直观 。Integer.parseInt(map.get("id").toString())

MissSquare

can not casting!

我是一棵秋天的树

向下转型有风险。

2016_Maybe

因为你的jdk可能用的是1.6.或者更低的版本,所以你需要把jdk版本Ok了

手插口袋_

这基础没谁了。。。。。首先你语法上有错,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);    }

历史与足迹

把代码贴上来啊,你这么问太笼统了,首先JAVA中所有类的父类都是Object, 如果你定义的Object对象就是1、2的整型,在强制类型转换的时候就不会报错,如果是"str"等字符串对象时不可能被转换为整型的。

产品经理不是经理

截图出来
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java