两种判断对象类型的方法

    技术2022-07-11  121

    两种判断对象类型的方法: 1.通过instanceof *缺点:不能准确的判断该对象是Dog的实例,如果该对象是类的子类对象也会返回true

    2.对象.getClass().getName()获取对象的实例类名 (1)对象.getClass():返回该对象对应的Class对象 (2)对象.getClass().getName():该对象对应的class对象的全类名

    public class DogTest {

    public static void main(String[] args) { Animal ani1= new Dog(); Animal ani2 = new Husky(); isDog1(ani1); isDog1(ani2); System.out.println(isDog(ani1)); System.out.println(isDog1(ani2)); } //判断多态后的实际类似是否时Dog public static boolean isDog(Animal ani) { if (ani instanceof Dog) { Dog dog = (Dog) ani; return true; } return false; } public static boolean isDog1(Animal ani) { String str = ani.getClass().getName(); System.out.println(str); if(ani.getClass().getName().equals(Dog.class.getName())) { return true; }else { return false; } }

    }

    Processed: 0.021, SQL: 9