`
perfect5085
  • 浏览: 271923 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java instanceof Class.isInstance() isAssignableFrom区别

 
阅读更多

instanceof 和 Class.isInstance() 功能完全相同:判断对象是否是一个接口的实例,或者是这个类及其子类的实例。

注意用法:

// 是静态,右边仅仅出现:接口或者类的名字

// 判断blackCircleObject是否是Shape的实例

if(blackCircleObject instanceof Shape){

System.out.println("00000000000000");

}

// 是Class对象的静态方法

// 判断blackCircleObject是否是Shape的实例

if(Shape.class.isInstance(blackCircleObject)){

System.out.println("44444444444444444");

}

 

Class.isAssignableFrom():是针对Class对象,判断Class对象之间是否有联系。

如果入参的Class对象来自这个接口,或者就是这个类本身,或者是其子类,返回true, 否则返回false

// 是Class对象的静态方法

// 入参:circleClass是一个Class对象,判断circleClass代表的类,是否实现,继承,等同 Shape.

if(Shape.class.isAssignableFrom(circleClass)){

System.out.println("AAAAAAAAAAAAAAAA");

}

分享到:
评论

相关推荐

    15.instanceof运算符.zip

    15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof运算符.zip15.instanceof...

    详谈Java中instanceof和isInstance的区别

    在Java编程语言中,`instanceof` 和 `Class.isInstance()` 都是用来判断对象是否属于特定类型的工具,但它们之间存在一些微妙的区别。下面将详细解释这两种操作符的用法和差异。 首先,`instanceof` 关键字是Java...

    java instanceof运算符.txt

    java instanceof运算符

    Damaer#Coding#instanceof用法详解1

    1. instanceof关键字 2. isInstance()方法 3. instanceof,isInstance,isAssignableFrom区别是什

    instanceof关键字.md

    在Java编程语言中,`instanceof`是一个十分重要的关键字,用于判断一个对象是否属于特定的类或接口。本文将详细解释`instanceof`的关键特性和使用场景,并通过示例代码加深理解。 #### 一、基本概念 `instanceof`...

    java.util.Date到Json日期

    jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss")); ``` 这里,我们创建了一个`DateJsonValueProcessor`实例,并指定了输出日期的格式。这个...

    Java程序设计示例教程.pdf

    这可以通过`Class.forName`使用类全名或直接使用类名(如`int.class`)或基本类型的`TYPE`字段(如`Integer.TYPE`)来完成。 2. 通过`Class`对象获取类的成员信息,例如方法、字段、构造器等。例如,`...

    Java面向对象程序设计-instanceof运算符.pptx

    在Java面向对象编程中,`instanceof`运算符是一个至关重要的概念,特别是在处理类与类之间的关系时。农业信息系统开发中,我们可能需要处理多种类型的对象,如农作物、动物、农机具等,这些对象可能继承自同一基类或...

    Java对象类型的判断详解

    本文将深入探讨Java中三种主要的判断对象类型的手段:`instanceof`、`Class.equals()`以及`Class.isInstance()`和`Class.isAssignableFrom()`。 1. `instanceof` 关键字: `instanceof` 是Java中最常用的判断对象...

    java中instanceof与Class的等价性代码示例

    Java 中 instanceof 与 Class 的等价性代码示例 Java 中的 `instanceof` 运算符是一个二元操作符,用于检查对象是否属于某个特定类或其子类。它返回一个布尔值,指示对象是否是该类或其子类的一个实例。在 Java 中...

    判断类的缓存大小

    本文将深入探讨如何通过Java内置的关键字`instanceof`以及类方法`isInstance(Object obj)`和`isAssignableFrom(Class<?> cls)`来判断类的缓存大小及其相关知识点。 #### `instanceof`关键字 `instanceof`关键字...

    java开发-com.alibaba.fastjson.JSONObject

    MyBean myBean = jsonObject.toJavaObject(MyBean.class); ``` 7. JSON串与对象的互转:Fastjson还提供了将JSON字符串转换为JSONObject以及将JSONObject转换为JSON字符串的功能。例如: ```java String json...

    Java SE编程入门教程 java instanceof(共3页).pptx

    Java SE编程入门教程 java instanceof(共3页).pptx Java SE编程入门教程 java IO(共28页).pptx Java SE编程入门教程 java Math(共11页).pptx Java SE编程入门教程 java object(共9页).pptx Java SE编程入门...

    java.lang.ClassCastException

    在Java编程中,`java.lang.ClassCastException`是一个运行时异常,通常发生在强制类型转换时,如果尝试将一个对象转换为其非兼容类型时就会抛出。这个异常表明在编译时可能成功的类型转换,在运行时被证明是错误的。...

    Java入门必学实训教程 Java软件开发实战 Java基础、开发框架、类库、web开发 已分类全套共50多份PPT课件.rar

    类构造函数_this_静态属性方法_instanceof运算符 Java基础 5.类属性及类方法定义 Java基础 6.继承与多态 Java基础 7.接口 Java基础 8.类基础知识复习 Java基础 9.异常处理 SpringMVC_1_开发环境搭建 SpringMVC_10_...

    Java语言基础.pdf

    Java语言中包含了一系列的关键字,这些都是预定义的、具有特殊含义的词汇,例如`abstract`, `boolean`, `break`, `case`, `catch`, `class`, `continue`, `default`, `do`, `double`, `else`, `extends`, `false`, `...

    java语言程序设计 java编程笔记 由浅入深的笔记 共32份 全套资源.rar

    instanceof运算符.docx io.docx java基础关键字.docx java命名和数据类型.docx java序列化.docx Math类.docx Object(对象).docx operator(运算符).docx Properties.docx return语句的例子.docx Scanner和if语法....

    Java面试宝典.pdf

    instanceof是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例。 Java自动装箱与拆箱 装箱:自动将基本数据类型转换为包装器类型(int-->Integer),调用方法:Integer的valueOf(int)。 拆箱:自动将...

Global site tag (gtag.js) - Google Analytics