前言: 在Java这种强类型语言中,经常会遇到类型转换、类型判断。今天IT培训网小编就来盘点一下Java中判断类型的方式。
在Java这种强类型语言中,经常会遇到类型转换、类型判断。今天IT培训网小编就来盘点一下Java中判断类型的方式。
1.实例化
instanceof是一个Java运算符,用来判断一个对象是否是一个类的实例。用法 :
boolean isInstance = obj instanceof Class
其中 obj 对于对象实例,Class 对于类名或者接口名,当 obj 通过 Class Example,或者其子类实例,或者其接口的实现类实例,全部返回 true,否则返回false。
需要注意的是,obj 必须是引用类型,不能是基本类型,下面的公式不能编译:
int integer = 0;
// Error will be reported at compile time
boolean isInstance = integer instanceof Number
另外,编译器会检查instanceof表达式 obj 中是否可以转换为右边的Class类型,如果不能转换直接报错,如果不能确定类型,也会编译。
2. 类.isInstance
// Class.isInstance Equivalent to instanceof The operator
boolean ret = entity instanceof UserInfo;
boolean isInstance = UserInfo.class.isInstance(entity);
如上图Class.isInstance 等价于instanceof 运算符。如果参数不是null, 并且不触发也可以,ClassCastException如果成功转换为左边的引用类型,就会返回true。
3. Class.isAssignableFrom
该方法的调用者和参数是Class对象,调用者是父类,参数是自身或其子类。
boolean assignableFrom = List.class.isAssignableFrom(ArrayList.class);
常用于判断父子关系,Mybatis 插件教程中使用这个方法来判断一个类是否是接口的实现类。
4. 类.isPrimitive
该方法主要用于判断Class是否为原始类型(boolean、char、byte、short、int、long、float、double)。
//true
boolean primitive = int.class.isPrimitive();
请注意,基类型的包装器类型。如果使用此方法确定结果,则返回 false。
5.总结
这类判断除前两种外都很常见,后两种机会有限。
文章出自:http://qh.itpxw.cn/peixun/software/2022121565.html
文章标题:几种Java判断类型的方式
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...