用法:

(类型变量 instanceof 类|接口)

作用:

instanceof 操作符用于判断前面的对象是否是后面的类,或者其子类、实现类的实例。如果是则返回true 否则就返回false。

注意:

· instanceof前面的操作数的编译时类型要么与后面的类相同,要么与后面的类具有父子继承关系否则会引发编译错误。

一个简单的例子:

/**

* instanceof 运算符

* @author Administrator

*

*/

public class TestInstanceof {

public static void main(String[] args) {

//声明hello 时使用Object类,则hello的编译类型是Object

//Object类是所有类的父类,但hello的实际类型是String

Object hello = "Hello";

//String是Object的子类可以进行instanceof运算,返回true

System.out.println("字符串是否为object类的实例:"

+ (hello instanceof Object));

//true

System.out.println("字符串是否为String的实例:"

+ (hello instanceof String));

//false

System.out.println("字符串是否为Math类的实例:"

+ (hello instanceof Math));

//String实现了Comparable接口,所以返回true

System.out.println("字符串是否为Comparable类的实例:"

+(hello instanceof Comparable));

/**

* String 既不是Math类,也不是Math类的父类,故下面代码编译错误

*/

//String a = "hello";

//System.out.println("字符串是否为Math类的实例:"

//        + (a instanceof Math));

}

}

运行结果:

字符串是否为object类的实例:true

字符串是否为String的实例:true

字符串是否为Math类的实例:false

字符串是否为Comparable类的实例:true

通常在进行强制类型转换之前,先判断前一个对象是不是后一个对象的实例,是否可以成功转换,从而保证代码的健壮性。

java instanceof运算符_Java instanceof 运算符的使用方法相关推荐

  1. java int 运算符_Java 位运算符和 int 类型的实现

    Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.=.<= # 逻辑运算符 && ...

  2. java比较运算_Java比较运算符

    注意哦: 1.  > . < . >= . <= 只支持左右两边操作数是数值类型 2.  == . != 两边的操作数既可以是数值类型,也可以是引用类型 public clas ...

  3. java中的位移运算符_Java 位移运算符

    本人只是 Android小菜一个,写技术文档只是为了总结自己在最近学习到的知识,从来不敢为人师,如果里面有些不正确的地方请大家尽情指出,谢谢! 1.概述 Java 位移运算符是Java中基本的位运算操 ...

  4. java 基础运算_Java 基础 运算符

    Java运算符 运算符:是一种用于对数据进行运算,赋值,比较的特殊符号. Java语言中运算符总共分为以下几大类: 算术运算符:+ - * / ++ -- 示例如下代码: 1 public class ...

  5. java wait 参数_java中wait()和join()方法的区别是什么

    java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...

  6. java拆分日期_java实现日期拆分的方法

    java实现日期拆分的方法 本文实例讲述了java实现日期拆分的方法.分享给大家供大家参考.具体如下: 如:计算6-1至6-5之间的日期天数及具体日期,预期的结果是得到: 6-1 6-2 6-3 6- ...

  7. java 释放一个对象_JAVA中销毁一个对象的方法

    方法一:垃圾回收器 垃圾回收器是Java平台中用的最频繁的一种对象销毁方法.垃圾回收器会全程侦测Java应用程序的运行情况.当反先有些对象成为垃圾时,垃圾回收器就会销毁这些对象,并释放这些对象所占用的 ...

  8. java里面的 |运算符_Java 中 | ^ 运算符的简单使用

    背景 今天碰到了代码中的按位与运算,复习一下,先列一个各个进制数据表. 顺便复习一下十进制转二进制的计算方式: 接下来解释下这三个运算符: & 按位与,都转为二进制的情况下,同为1则为1,否则 ...

  9. java 操作位_Java位运算符

    Java位运算符 介绍 Java位运算符基础操作 基础类型 字节:也叫Byte 位:是bit 1Byte = 8bit 基础类型 byte 1字节 = 8bit 0000 0000 short 2字节 ...

最新文章

  1. Android开发:第五日番外——过时的函数和被横杠的函数
  2. 数位dp 3943 二分法
  3. Firefox 下载、附加组件、Flash插件、缓存位置(附加Chrome下载和Opera下载)
  4. linux命令怎么查看dat格式的文件,Linux 查看 elf可执行文件格式的两个命令
  5. Linux重定向详解
  6. 2015电大c语言,2015电大本科C语言程序设计A试题汇总.doc
  7. el 能否定义作用域变量_python命名空间和作用域
  8. 博为峰Java技术文章 ——JavaSE Swing 如何使用进度条组件JProgressBarⅡ
  9. Nginx+DNS负载均衡实现
  10. 《Linux内核设计与实现》读书笔记 - 目录 (完结)【转】
  11. postgre 表被加锁无法解锁问题
  12. Mybatis-学习笔记(8)常用的注解
  13. 凸二次规划的解法(旋转算法)
  14. cocos creator麻将教程系列(十)—— 幼麟棋牌搭建和CentOS服务器部署指南
  15. PMP项目管理如何通过改革处理掉核心技术成果的潜在流失风险?
  16. 积化和差、和差化积简记
  17. DSP F28335时钟及控制系统
  18. 我的世界Mod整合包中的Mod下载
  19. MATLAB动画绘制
  20. 如何实现水平,垂直,水平垂直居中

热门文章

  1. asp.net mvc 自定义 pager 封装与优化
  2. 一个.NET Core开发者的Linux入门学习笔记
  3. 【招聘(广州)】 招聘.NET程序员
  4. [C#7] 1.Tuples(元组)
  5. .Net大户的选择:Windows Container在携程的应用
  6. 使用Nancy打造TaskManager2.0管理系统
  7. frameset在html5下用什么代替_速速围观!冬至吃货地图来啦~蚌埠的吃货们,你们今天吃什么?...
  8. 【Envi风暴】Envi 5.3 SP1经典安装手把手图文教程(含补丁文件)
  9. LeetCode之Move Zeroes
  10. Bit Manipulation —— 位运算