黑马程序员技术交流社区

标题: 关于类型转换问题 [打印本页]

作者: 黄陂酷歌    时间: 2014-3-27 16:47
标题: 关于类型转换问题
  1. public boolean equals(Object obj){
  2.         if((obj instanceof Student))
  3.                 throw new ClassCastException("类类型不匹配");
  4.         Student s  = (Student)obj;
  5. }
复制代码

上面的代码是毕老师经常写的,关于这段代码我一直有个疑问没有解决
前面if语句已经判断如果obj不是Student就抛异常并不在往下执行
如何if语句没有执行,执行后面的语句,说明obj是Student类型了,问
为什么还要强制转换为Student类型?这不是多此一举吗?
作者: ___________゛M    时间: 2014-3-27 20:51
不是多此一举 , 而是后面还要进行相应的判断 。 你前面obj instanceof Student , 只是判断,是否是其本身及其子类类型, 并不能判断其是一个对象 , 只有进行强转后 , 再调用比如对象属性如: s.getName是否等于this.getName  等等一系列的判断才能确定它们是不是同一个对象 。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2