java 中 关于object 与 Integer 强制转换的问题。
Objectobj=null;Mapmap=newHashMap();map.put("s","0");try{//obj=0;//第一次执行这句话//obj=map.g...
Object obj=null;
Map map =new HashMap();
map.put("s","0");
try{
//obj=0;//第一次执行这句话
//obj=map.get("s");//第二次执行这句话
System.out.println((Integer)obj);
obj=map.get("s");
}catch(Exception e){
System.out.println("报错");
}
为什么两次执行的结果不一致? 展开
Map map =new HashMap();
map.put("s","0");
try{
//obj=0;//第一次执行这句话
//obj=map.get("s");//第二次执行这句话
System.out.println((Integer)obj);
obj=map.get("s");
}catch(Exception e){
System.out.println("报错");
}
为什么两次执行的结果不一致? 展开
3个回答
展开全部
第二次的object是个string类型的,不能强转为Integer的 ,你可以用Integer.parseInt(object)
更多追问追答
追问
Integer.pareInt()的参数 必须是String 类型的吧~
追答
你可以把(String)object
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类型不同所以结果不同,要想相同转化成同一种类型再用Integer()然后再打印
更多追问追答
追问
不都是Object类型吗?
追答
有个东西叫哈希code,不知道你听过木有
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
回楼主,第二次绝对会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询