黑马程序员技术交流社区
标题:
关于类型转换问题
[打印本页]
作者:
黄陂酷歌
时间:
2014-3-27 16:47
标题:
关于类型转换问题
public boolean equals(Object obj){
if((obj instanceof Student))
throw new ClassCastException("类类型不匹配");
Student s = (Student)obj;
}
复制代码
上面的代码是毕老师经常写的,关于这段代码我一直有个疑问没有解决
前面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