1、instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

用法:result = object instanceof class

参数:

result:必选项。任意变量。

object:必选项。任意对象表达式。

class:必选项。任意已定义的对象类。

说明:

如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

例如:Boolean b;

String str = "foo";

b = ( str instanceof String ); // true

b = ( str instanceof Object ); // also true

b = ( str instanceof Date ); // false, not a Date or subclass

注意:

1)null值不是任何对象的实例,所以下面这个例子返回了false,无论这个变量声明的是什么类型。String s = null;

if ( s instanceof String )

// false, won't happen

2)instanceof也可以正确的报告一个对象是否是数组和特定的接口类型。if ( foo instanceof byte[] )

2、使用getClass判断

我们知道在Java中一切都是对象,我们一般所使用的对象都直接或间接继承自Object类。Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类。

在获得类型类之后,你就可以调用其中的一些方法获得类型的信息了,主要的方法有:

getName():String:获得该类型的全称名称。

getSuperClass():Class:获得该类型的直接父类,如果该类型没有直接父类,那么返回null。

getInterfaces():Class[]:获得该类型实现的所有接口。

isArray():boolean:判断该类型是否是数组。

isEnum():boolean:判断该类型是否是枚举类型。

isInterface():boolean:判断该类型是否是接口。

isPrimitive():boolean:判断该类型是否是基本类型,即是否是int,boolean,double等等。

isAssignableFrom(Class cls):boolean:判断这个类型是否是类型cls的父(祖先)类或父(祖先)接口。

getComponentType():Class:如果该类型是一个数组,那么返回该数组的组件类型。

更多java知识请关注java基础教程。

java中判断string类型的值_java判断对象是否是string类型相关推荐

  1. java中怎么获取配置文件的值_java如何获取配置文件的值

    转: 原创 编码小王子 发布于2018-10-11 18:07:52 阅读数 2722 收藏 展开 java大型项目中都会很多系统常量,比如说数据库的账号和密码,以及各种token值等,都需要统一的管 ...

  2. java中不等于空怎么写_JAVA判断不等于空的情况

    判断不等于空的情况,千万不要搞混淆. if(orderId != null && !"".equals(orderId))  中间不是||的关系,是&&am ...

  3. java中main()函数的返回值是什么_Java中main()函数的返回值类型是什么

    Java中main()函数的返回值类型是什么 答:void 在单纯形表的终表中,若非基变量的检验数有0,那么最优解 答:无穷多 中国大学MOOC: 不属于现代区位理论的是( ) 答:中心地理论 不属于 ...

  4. java 正则表达式 判断 日期_怎么在java中利用正则表达式对时间日期进行判断

    怎么在java中利用正则表达式对时间日期进行判断 发布时间:2020-12-08 16:18:34 来源:亿速云 阅读:105 作者:Leah 这篇文章给大家介绍怎么在java中利用正则表达式对时间日 ...

  5. java中的参数传递(只有值传递没有引用传递)

    Java中只有传值调用(值传递),没有传址调用(址传递或者引用传递).所以在java方法中改变参数的值是不会改变原变量的值的,但为什么改变引用变量的属性值却可以呢?请看下面的解答. java中的数据类 ...

  6. java比较两个list是否相同_Java判断两个List是否相同

    1.利用Java中为List提供的方法retainAll() /** * 判断两个List内的元素是否相同 * * 此方法有bug 见Food.class * * @param list1 * @pa ...

  7. java中是引用传递还是值传递....

    刚才与Z师兄聊天,他提问: 你说java中是引用传递还是值传递啊? 当时俺搞混了这个"传递"的意思, 本来以为是对象的实例化比如: abc a=new abc(); 这个a 是引用 ...

  8. java求30度的正弦值_获取Java中给定值的双曲正弦值

    为了获取Java中给定值的双曲正弦值,我们使用java.lang.Math.sinh()方法.该sinh()方法接受一个以弧度为单位的参数,并返回该参数的双曲正弦值作为角度. 声明-java.lang ...

  9. JAVA中同目录下定义类,以及对象的创建与使用,内存图的原理

    JAVA中同目录下定义类,以及对象的创建与使用(听课笔记) JAVA中对象的创建与使用(听课笔记) 示例一 同文件目录下,创建了三个类OOTest01,User,Address类,之间的调用 示例二 ...

最新文章

  1. 【转】statfs获得硬盘使用情况 模拟linux命令 df
  2. 2009-徘徊-开场白
  3. ASP.NET MVC CODE FIRST 图书管理系统 数据库
  4. session监听器统计在线人数存入数值后不能取出其值
  5. Ehab and a 2-operation task
  6. python垃圾回收 (GC) 机制
  7. 用CSS让DIV上下左右居中的方法
  8. mysql 7下载安装及问题解决
  9. 乒乓球十一分制比赛规则_乒乓球的基本比赛规则
  10. linux内核调度算法(2)--CPU时间片如何分配
  11. 用户自定义函数代替游标进行循环拼接
  12. activiti处理当前用户的任务
  13. POJ 2983 Is the Information Reliable?(差分约束系统)
  14. paip.提升安全性--------密码控件与软键盘
  15. 【优化算法】非支配排序遗传算法(NSGA)【含Matlab源码 176期】
  16. Excel 空值填充
  17. 详解 ManualResetEvent
  18. 带有vlan tag的报文与网卡的交互关系
  19. 自我实现的人的15种心理特征
  20. java Web 前后端交互

热门文章

  1. 系统服务器查看snmp,windows7系统打开snmp服务的方法(图文)
  2. 【算法】算法中的趣味数学(一)
  3. torch gpu改cpu
  4. 安装深度linux系统卡住不动,Deepin Linux 15(.1)启动即卡死的问题
  5. 用python绘制熊猫图案_使用pandas的DataFrame的plot方法绘制图像的实例
  6. 使用python写一个怎么猜都猜不对的数字小游戏-python趣用之法1
  7. 【演示文稿制作动画】Focusky教程 | 借助各种图片来提升演示文稿的视觉体验和说服力
  8. 程序设计艺术与方法实验报告( STL 的熟悉与使用 搜索算法的实现 计算几何算法的实现 动态规划算法的实现)
  9. 外网访问内网服务器配置方法
  10. 上拉电阻和下拉电阻简单清晰解释【必看】