类转换异常

EmployeeIndexSetMain 和PostIndexSetMain分别对应数据库中的两张表

在考虑将前端传来的EmployeeIndexSetMain实体保存到PostIndexSetMain中,我采用了PostIndexSetMain继承EmployeeIndexSetMain,成为其子类的方法。

单一开始向下转换之前发生了类转换异常的问题

employeeIndexSetDao.savePostIndexSet((PostIndexSetMain) checkSet.getList().get(0));

在java中,向下转型则是为了,通过父类强制转换为子类,从而来调用子类独有的方法(向下转型,在工程中很少用到).

为了保证向下转型的顺利完成,在java中提供了一个关键字:instanceof,通过instanceof可以判断某对象是否是某类的实例,如果是则返回true,否则为false,instanceof使用如下:

所以加了一层向下转型判断之后,就可以避免类型转换的问题

//按照岗位,设置考核方式
if (checkSet.getType() == 1) {
   //岗位考核保存设置信息到t_post_index_set_main表中,方便编辑查询
   EmployeeIndexSetMain indexSetMain = checkSet.getList().get(0);
   if (indexSetMain instanceof PostIndexSetMain) {
       PostIndexSetMain p = (PostIndexSetMain) indexSetMain;
       employeeIndexSetDao.savePostIndexSet(p);
       }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值