`
desert3
  • 浏览: 2175967 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

isAssignableFrom & isInstance

    博客分类:
  • Java
 
阅读更多
java.lang.Object extended by java.lang.Class
  • boolean isAssignableFrom(Class cls) : Determines if the class or interface represented by this Class object is either the same as, or is a superclass or superinterface of, the class or interface represented by the specified Class parameter.
  • boolean isInstance(Object obj) : Determines if the specified Object is assignment-compatible with the object represented by this Class.


isAssignableFrom接受的是Class参数,isInstance接受的是Object参数。
		System.out.println("Object.class.isAssignableFrom(String.class) = " + Object.class.isAssignableFrom(String.class));
		System.out.println("Object.class.isAssignableFrom(Object.class) = " + Object.class.isAssignableFrom(Object.class));
		System.out.println("String.class.isAssignableFrom(Object.class) = " + String.class.isAssignableFrom(Object.class));
		
		String s = "";
		Object o = new Object();
		System.out.println("Object.class.isInstance(s) = " + Object.class.isInstance(s));
		System.out.println("Object.class.isInstance(o) = " + Object.class.isInstance(o));
		System.out.println("String.class.isInstance(o) = " + String.class.isInstance(o));

执行结果:
Object.class.isAssignableFrom(String.class) = true
Object.class.isAssignableFrom(Object.class) = true
String.class.isAssignableFrom(Object.class) = false
Object.class.isInstance(s) = true
Object.class.isInstance(o) = true
String.class.isInstance(o) = false
分享到:
评论

相关推荐

    判断类的缓存大小

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

    Damaer#Coding#instanceof用法详解1

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

    Java类和成员上的一些方法实例代码

    isInstance方法是Java语言中用于判断对象是否是某个类或者其子类的实例的方法。该方法的语法结构为:clazz.isInstance(obj),其中clazz是类对象,obj是需要判断的对象。如果obj是clazz或者clazz的子类的实例,则该...

    Java对象类型的判断详解

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

    utils-assertor:断言实用程序(轻松声明参数并引发特定异常)

    效用断言者 Codecov树和森伯斯特: 工作进度: < groupId>fr.landel.utils < artifactId>utils-assertor < version>1.1.5 概括 ... isAssignableFrom hasHashCode 验证 大批 hasLength h

    java反射深入剖析(推荐)

    4. 检查类的属性:`isInterface()`, `isEnum()`, `isAssignableFrom()`, `isInstance()`等方法用于判断类的特性。 Java反射的应用场景广泛,如框架开发(如Spring、Hibernate)、动态代理、代码生成工具(如JPA的...

Global site tag (gtag.js) - Google Analytics