आप को पता है ConsumingHandler
केवल इंटरफ़ेस AtomEntryHandler
लागू करता है होता है, और आप को पता है कि यह सिर्फ एक प्रकार तर्क लेता है, तो आप ऐसा कर सकते हैं:
interface ConsumingHandler<T> {}
class AtomEntry {}
class AtomEntryHandler implements ConsumingHandler<AtomEntry>
{
public static void main(String[] args)
{
Type[] interfaces = AtomEntryHandler.class.getGenericInterfaces();
ParameterizedType firstInterface = (ParameterizedType) interfaces[0];
Class c = (Class) firstInterface.getActualTypeArguments()[0];
System.out.println(c.getName()); // prints "AtomEntry"
}
}
अन्यथा, आप getGenericInterfaces()
में चारों ओर से प्रहार कर सकते हैं और उनके actualTypeArguments
जब तक कि आप ऐसा कुछ न ढूंढें जो आप ढूंढ रहे हैं।
लेकिन अगर आपको वास्तविक कोड में ऐसा करने की ज़रूरत है, तो शायद आपके डिजाइन में कुछ गलत हो गया है, या आप कुछ पागल प्रतिभा मॉक ऑब्जेक्ट लाइब्रेरी लिख रहे हैं और आपको इन सवालों के जवाब देने की आवश्यकता नहीं है।
स्रोत
2011-10-25 21:37:14
क्या आपके दोस्त ने कहा था? –
नहीं, इसलिए सवाल :-D – ekj
क्या एलेक्स गिटेलमैन का जवाब आपके लिए काम करता है? –