第05部分:instanceof操作符

instanceof 操作符与对象和 Java 的类型系统联系紧密。建议对Java有充分了解后,再学instanceof操作符会更好一些。


instanceof 操作符的左侧操作数是对象或数组,右侧操作数是引用类型的名称。如果对象或数组是指定类型的实例,计算结果为 true;否则,计算结果为 false。如果左侧操作数是 null,instanceof 操作符的计算结果始终为 false。如果 instanceof 表达式的计算结果为 true,意味着可以放心校正并把左侧操作数赋值给类型为右侧操作数的变量。


instanceof 操作符只能用于引用类型和对象,不能用于基本类型和值。instanceof 操作符的使用示例如下:

// true: 所有字符串都是String类的实例

"string"  instanceof  String


// true: 字符串也是Object类的实例

""   instanceof   Object


// false:null不是任何类的实例

null  instanceof  String



Object  o  =  new  int[] {1,2,3};

o   instanceof    int[]    // true:这个数组是int数组

o   instanceof    byte[] // false:这个数组不是byte数组

o   instanceof    Object // true:所有数组都是Object类的实例


// 使用instanceof确保能放心校正对象

if (object  instanceof  Point) {

        Point p = (Point) object;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Java 有六种语言结构,有时当成运算符,有时只当成基本句法的一部分。【第05部分:表达式和运算符】 也列出了这些...
    郭艺宾阅读 3,332评论 0 0
  • 前面讲了比较运算符,比较计算结果为布尔值,经常用在分支和循环语句中。为了让分支和循环的条件判断更有趣,可以使用逻辑...
    郭艺宾阅读 3,150评论 0 0
  • 位运算符和位移运算符是底层运算符,处理组成整数的单个位。其实在 Java 程序里很少使用位运算符,除非处理底层操作...
    郭艺宾阅读 3,294评论 0 0
  • 赋值运算符把值存储在某种变量中或赋予某种变量。左侧操作数必须是适当的局部变量、数组元素或对象字段。右侧操作数可以是...
    郭艺宾阅读 3,008评论 0 0
  • 条件运算符 ?: 是有点晦涩的三元运算符(有三个操作数),从 C 语言继承而来,可以在一个表达式中嵌入条件判断。这...
    郭艺宾阅读 1,378评论 0 0

友情链接更多精彩内容