java.lang.ClassCastException

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

通常是什么原因得到java.lang.ClassCastException ..?我的应用程序中出现以下错误

java.lang.ClassCastException: [Lcom.rsa.authagent.authapi.realmstat.AUTHw
提问于
用户回答回答于

根据文件

抛出以表明代码已经尝试将Object一个子类转换为它不是一个实例的子类。例如,以下代码会生成一个ClassCastException

Object x = new Integer(0);
System.out.println((String)x); 
用户回答回答于

一个ClassCastException当您试图投对象的实例的类型,它不是ocurrs。。例如

Apple myApple = new Apple();
Fruit myFruit = (Fruit)myApple;

这是有效的,因为苹果是'fruit'。但如果我们扭转这一点。

Fruit myFruit = new Fruit();
Apple myApple = (Apple)myFruit;

这会抛出ClasCastException,因为Fruit不是(总是)Apple。

首先用一个instanceof 检查来防止任何明确的转换是一个好习惯:

if (myApple instanceof Fruit) {
  Fruit myFruit = (Fruit)myApple;
}

扫码关注云+社区