2013-01-31 2 views

Antwort

9

Mit Reflection können Sie die Class.getInterfaces() Methode aufrufen, die eine Array of Interfaces zurückgibt, die Ihre Klasse implementiert.

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

Um von diesen Schnittstellen erweitert nur den Namen

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

Sie auch rekursiv möchten an den Schnittstellen zu bekommen. – Guillaume

+0

@Guillaume guten Punkt, würden sie Klasse implementieren Reihenfolge sein, zum Beispiel Schnittstelle [0] wäre java.util.List und Schnittstelle [1] wäre java.util.RandomAccess – PermGenError

+0

Und wenn Sie die Sammlung Schnittstelle erhalten möchten, haben Sie ruft getInterface() für die Schnittstellen auf, die vom ersten Aufruf zurückgegeben wurden. – Guillaume

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