isAssignableFrom() 与 instanceof

本文介绍了Java中Class.isAssignableFrom()方法用于判断类关系,以及instanceof关键字用于判断实例类型。通过具体代码示例展示了如何使用这两个方法进行类和实例的判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1,Class .isAssignableFrom( Class cls) 判定此 Class 对象所表示的类或接口与指定的 Class 参数cls所表示的类或接口是否相同,或是否是其超类或(超)接口,如果是则返回 true,否则返回 false。

2,instanceof   是用来判断一个对象实例是否是一个类或接口或其子类子接口的实例。  
    格式是:   oo   instanceof   TypeName    
                     interImpl instanceof inter
    第一个参数是对象实例名,第二个参数是具体的类名或接口名,例如   String,InputStream。

下面是上面二者的例子:

import java.util.Collection;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Properties;
import java.util.Set;

public class TestClass {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // 测试isAssignableFrom
        System.out.println(String.class.isAssignableFrom(Object.class));
        System.out.println(Comparable.class.isAssignableFrom(String.class));
        System.out.println(Set.class.isAssignableFrom(Collection.class));
        System.out.println(Collection.class.isAssignableFrom(Set.class));
        System.out.println(Set.class.isAssignableFrom(HashSet.class));
        //测试instanceof
        System.out.println("===============================================");
        Comparable com = new String();
        System.out.println(com instanceof String);
        Hashtable table = new Hashtable();
        System.out.println(table instanceof Properties);
    }

}

结果:
false
true
false
true
true
===============================================
true
false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值