java判断两个对象的类型是否相同以及判断对象是否属于某个类

public class Test{
 
    public static void main(String[] args) {
    
        //测试两个对象是否相同
        String s1 = new String("aaa");
        String s2 = new String("bbb");
        System.out.println(s1 instanceof s2); // false
        
        //测试是否对象属于某个类
        String s3 = new String("ccc");
        System.out.println(String.class.isInstance(s3)); // true
        
        //class1.isAssignableFrom(class2) 判定 class1对象所表示的类或接口与class2 参数所表示的类或接口是否相同,或是否是其超类或超接口。如果是则返回 true;否则返回 false。如果该 class1表示一个基本类型,且指定的 class2参数正是class1对象,则该方法返回 true;否则返回 false。
        System.out.println(ArrayList.class.isAssignableFrom(Object.class)); // false
        System.out.println(Object.class.isAssignableFrom(ArrayList.class)); //ArrayList是Object的对象,返回 true
    }
}

猜你喜欢

转载自blog.csdn.net/qq_39387856/article/details/84544639