Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1168895
  • 博文数量: 234
  • 博客积分: 5592
  • 博客等级: 大校
  • 技术积分: 1987
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-23 14:12
文章分类

全部博文(234)

文章存档

2015年(1)

2013年(4)

2012年(16)

2011年(204)

2010年(9)

分类: Java

2011-05-06 16:48:52

  1. /***************************************************************************
  2.          * 判断对象o实现的所有接口中是否有szInterface 
  3.          * 2008-08-07 修正多继承中判断接口的功能,
  4.          * 以及修正接口继承后的判断功能
  5.          * package test;
  6.          * 
  7.          * public interface ITest extends Serializable
  8.          * public class Test1 implements ITest
  9.          * public class Test2 extends Test1
  10.          * public class Test3 extends Test2 
  11.          * 
  12.          * isInterface(Test3.class, "java.io.Serializable") = true
  13.          * isInterface(Test3.class, "test.ITest") = true
  14.          * @param c
  15.          * @param szInterface
  16.          * @return
  17.          */
  18.         public boolean isInterface(Class c, String szInterface)
  19.         {
  20.                 Class[] face = c.getInterfaces();
  21.                 for (int i = 0, j = face.length; i < j; i++) 
  22.                 {
  23.                         if(face[i].getName().equals(szInterface))
  24.                         {
  25.                                 return true;
  26.                         }
  27.                         else
  28.                         { 
  29.                                 Class[] face1 = face[i].getInterfaces();
  30.                                 for(int x = 0; x < face1.length; x++)
  31.                                 {
  32.                                         if(face1[x].getName().equals(szInterface))
  33.                                         {
  34.                                                 return true;
  35.                                         }
  36.                                         else if(isInterface(face1[x], szInterface))
  37.                                         {
  38.                                                 return true;
  39.                                         }
  40.                                 }
  41.                         }
  42.                 }
  43.                 if (null != c.getSuperclass())
  44.                 {
  45.                         return isInterface(c.getSuperclass(), szInterface);
  46.                 }
  47.                 return false;
  48.         }
阅读(8784) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~