程序猿求助,java类型转换错误但是没有报错

写代码多年,从未遇到这种问题,问题排查起来也比较麻烦,问题解决了但是还不知道为什么不会报错~~~求大师赐教。
先大概描述一下问题。项目里面的代码是别人早就写好了的,项目我们接过来后没有动过源代码,测试后发现功能有问题,看日志,一切正常。测试环境比较复杂,本地没有,所以只有挨着打印日志,发现代码运行到了强制类型转换这一句就停止了,没有继续往下跑,也没有报错。问题就是这样,奇葩得很,难道的Java的bug,网上没搜到类似的情况。
本地写了类似的代码跑,100%报错: Exception in thread "main" java.lang.ClassCastException: com.cxy808.example.A cannot be cast to com.cxy808.example.B
at com.cxy808.example.Test.main(Test.java:15)
源代码类似下面,求高手解释
package com.cxy808.example; import com.cxy808.example.B; public class A { private String name; private B boss; public String getName() { return name; } public void setName(String name) { this.name = name; } public B getBoss() { return boss; } public void setBoss(B boss) { this.boss = boss; } }
 
package com.cxy808.example; public class B { }
 
package com.cxy808.example; import java.util.ArrayList; import java.util.List; import com.cxy808.example.A; import com.cxy808.example.B; public class Test { public static void main(String[] args) { List<Object> list = new ArrayList<Object>(); A a = new A(); list.add(a); B b = (B) list.get(0); } }

 奇葩的就是在B b = (B) list.get(0);这儿没有抱异常....why??????

转载于:https://my.oschina.net/u/2006682/blog/311786

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值