java 类型转换前先做检查

Posted 飞龙dragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 类型转换前先做检查相关的知识,希望对你有一定的参考价值。

1.传统的类型转换由RTTI确保正确性。

2.instanceof关键字(二元操作符) ,返回一个Boolean值,告诉我们对象是不是某个类或该类派生类的实例,他判断的是类型。

if (a instanceof A) //对象a是不是属于A类型,A可能是a父类的父类,如果是这样也返回true

3.instanceof 不能比较Class对象,对于Class对象使用isAssignableFrom()判断

if (as.isAssignableFrom(cs))// Class对象cs所在类是不是属于Class对象as所在类或者派生类 

4.动态的instanceof :Class对象的isInstance(Object o)方法判断该Class对象是不是o类的(如果o是class对象所在类则返回true,否则返回false哪怕o是所在类的父类)。

if (cs.isInstance(c)) //如果c是class对象所在类则返回true,否则返回false,哪怕c是所在类的父类

 

以上是关于java 类型转换前先做检查的主要内容,如果未能解决你的问题,请参考以下文章

SV强制类型转换和常数

忘了pull,直接修改并且commit的问题--github上传内容前先检查别人有没有推送新代码的解决方法

web代码片段

Java语言基础_类型和运算——基本数据类型转换

《Java核心技术卷一》之 泛型

JavaScript单行代码,也就是代码片段