A. java中判断一个对象是否实现了某个接口
/*************************************************************************** * 判断对象o实现的所有接口中是否有szInterface * 2008-08-07 修正多继承中判断接口的功能, * 以及修正接口继承后的判断功能 * package test; * * public interface ITest extends Serializable * public class Test1 implements ITest * public class Test2 extends Test1 * public class Test3 extends Test2 * * isInterface(Test3.class, "java.io.Serializable") = true * isInterface(Test3.class, "test.ITest") = true * @param c * @param szInterface * @return */ public boolean isInterface(Class c, String szInterface) { Class[] face = c.getInterfaces(); for (int i = 0, j = face.length; i < j; i++) { if(face[i].getName().equals(szInterface)) { return true; } else { Class[] face1 = face[i].getInterfaces(); for(int x = 0; x < face1.length; x++) { if(face1[x].getName().equals(szInterface)) { return true; } else if(isInterface(face1[x], szInterface)) { return true; } } } } if (null != c.getSuperclass()) { return isInterface(c.getSuperclass(), szInterface); } return false; }
B. 如何在java反射中判断某一类型是原始接口类型的包装类
使用instanceof 关键字,instanceof是Java的一个二元操作符,是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,也可以测试接口。
public class Test
{
public static void main(String[] args)
{
Student student = new Student();
System.out.println(student instanceof Person);
}
}
class Student implements Person
{
}
interface Person
{
}
C. java判断对象是否实现接口会报错
java判断对象是实现接口会报错。因为java判断对象所存储的对象的类没有实现Comparable接口就会报错,属于正常的程序现象。所以java判断对象是实现接口会报错。