![Java与Android移动应用开发:技术、方法与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/659/26793659/b_26793659.jpg)
上QQ阅读APP看书,第一时间看更新
7.2 泛型方法
在方法中,同样可以使用泛型,下面的代码定义一个泛型方法,其功能是显示参数的类型信息。
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P88_209874.jpg?sign=1739360008-9QO8fyLKEZo5uHMrvF7EUQ3eHq9vqxjF-0-dd747ede1c98c2d7f7e70e558b3cc31a)
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P88_61098.jpg?sign=1739360008-LApoFVk8tmJJi8ERRePh0FNsJwj8EiNe-0-fc935502a3c367027107389a2211e007)
图7-2 使用泛型方法
代码执行结果如图7-2所示。
在m2()泛型方法的定义中,其返回值类型前使用“<”和“>”定义了类型标识。参数中使用了一个泛型参数,然后,在方法的内部,调用参数的getClass()方法获取其实际类型。接下来,通过getName()方法获取类型名称并显示。
接着,在CC类中添加一个泛型方法,如下面的代码(CC.java文件)所示。
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P88_209875.jpg?sign=1739360008-zEZZX8AcDRPGo4FsuZh0dvNuqUJrSohf-0-dac4c8481a5a58f27cf6666e40b681a4)
代码中,定义了inList()泛型方法,它的功能是判断第一个参数是否在从第二个参数开始的数据列表中。开发中,可以通过类似下面的代码使用inList()方法。
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P89_209876.jpg?sign=1739360008-9Q2HUP9AQth9OO7yTK7pGTCpL8kwiMSl-0-47dd264ea91bea585844fbc86fa55b65)
代码执行结果如图7-3所示。
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P89_61559.jpg?sign=1739360008-Mqf2GkhuSuaxXPrbv923LMeLNCGvS5P1-0-5a2cf2aad6664849c9a1367deb864d2e)
图7-3 封装CC.inList()泛型方法