从实现类中获取接口名称

时间:2013-01-31 11:09:54

标签: java class interface

示例:

List<String> list = new ArrayList<String>();
//This would give me the class name for the list reference variable.
list.getClass().getSimpleName();

我想从list引用变量中获取接口名称。 有没有办法做到这一点?

2 个答案:

答案 0 :(得分:13)

使用Reflection,您可以调用Class.getInterfaces()方法,该方法返回您的类实现的Array of Interfaces

System.out.println(list.getClass().getInterfaces()[0]);

获得名称

System.out.println(list.getClass().getInterfaces()[0].getSimpleName);

答案 1 :(得分:2)

Class  aClass = ... //obtain Class object. 
Class[] interfaces = aClass.getInterfaces();