java强转注意事项_Java 强制类型转换(类转换注意事项)
发布日期:2021-09-13 10:04:21 浏览次数:2 分类:技术文章

本文共 622 字,大约阅读时间需要 2 分钟。

将一个类型强制转换成另一个类型的过程被称为类型转换.例如:

double x =3.14;

int y = (int)x;将表达式x的值转换成整数类型,舍弃小数部分.

有时候也可能是类的对象引用的转换.

譬如:

Manger boss = (Manger)staff[0];

我们知道如果将一个子类的引用赋给一个超类变量,是可以的. 但是反过来,必须进行类型转换.

但是转换的时候,可能出现"谎报"的ClassCastException异常.,如果没有捕获该异常,程序就会停止.

因此, 我们应该养成一个良好的编程习惯,在进行类型转换之前,先看一下是否能成功转换.

这个过程简单地使用instanceof运算符就可以实现.例如:

if(staff[0] instanceof Manger){

boss = (Manger)staff[0];

...

}

这样,如果转换不成功,编译器就不会进行这个转换.

综述:

只能在继承层次内进行类型转换

在将超类转换成子类之前,应该使用instanceof进行检查.

注:

x instanceof c

如果x 为null, x instanceof c 不会产出异常,只是返回false,因为null没有引用任何对象.

一般情况下,应该尽量少用类型转换和instanceof运算符.

原文:http://blog.csdn.net/aikongmeng/article/details/18322117

转载地址:https://blog.csdn.net/weixin_39817176/article/details/114893762 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java idea封装快捷键_idea万能快捷键(alt enter),你不知道的17个实用技巧!!!
下一篇:慕课网 java报表_使用JSP+Servlet技术生成报表

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月04日 07时20分45秒