java 异常ClassCastException
答案:5 悬赏:10
解决时间 2021-02-21 06:03
- 提问者网友:且恨且铭记
- 2021-02-20 17:26
java 异常ClassCastException
最佳答案
- 二级知识专家网友:不甚了了
- 2021-02-20 18:57
不是楼上说的原因,而是父类不可以强制转换为子类,因为子类有的方法父类可能没有。
如 Object x = new Object();
System.out.println((String)x);
假设可以转,调用x String方法时肯定就找不到了
如 Object x = new Object();
System.out.println((String)x);
假设可以转,调用x String方法时肯定就找不到了
全部回答
- 1楼网友:洎扰庸人
- 2021-02-20 22:11
都是人才啊!!!误导人呢这不是!Integer和String是两种不同对象,你这里Object只是起了牵线的作用,实际上那个x还是Integer类型对象,(String)x是想把这个Integer对象强转为String类型,自然是转换不成了!
- 2楼网友:一把行者刀
- 2021-02-20 21:24
System.out.println(x.toString());就好了,
string,int, 等是基本数据类型,Integer Float等是对象,只有对象才能转字符,而对象不能反转成基本数据类型。
string,int, 等是基本数据类型,Integer Float等是对象,只有对象才能转字符,而对象不能反转成基本数据类型。
- 3楼网友:撞了怀
- 2021-02-20 21:16
只能完成向上转型,就像你自己写的这一句Object x = new Integer(0);,不能向下转型。例如:student类继承person类,可以说student是一个person,但是我们不能说person就是一个student。
- 4楼网友:老鼠爱大米
- 2021-02-20 20:21
String不是基本数据类型,不能这样转型,Integer也不能这样转换的,(int)x可以,但是(Integer)x是错的,要写成Integer.valueOf(x)。
System.out.println(String.valueOf(x));//应该这样
System.out.println(String.valueOf(x));//应该这样
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯