![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=1738957961-0D7CTKNUedB5MVxvemFLDozW687V770F-0-7ad26f10694a2672594416e2f8aa7436)
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P88_61098.jpg?sign=1738957961-Ot1zHR5u5T72VbWquZRU2APuXSqcOQ6D-0-a4ef6bf4d0f9afcf86a523dd0a3fa887)
图7-2 使用泛型方法
代码执行结果如图7-2所示。
在m2()泛型方法的定义中,其返回值类型前使用“<”和“>”定义了类型标识。参数中使用了一个泛型参数,然后,在方法的内部,调用参数的getClass()方法获取其实际类型。接下来,通过getName()方法获取类型名称并显示。
接着,在CC类中添加一个泛型方法,如下面的代码(CC.java文件)所示。
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P88_209875.jpg?sign=1738957961-pYFn5iQRS4e6mVrEl6aVpr317djTFq7A-0-eefe864bc822afc7d333bef82852fedb)
代码中,定义了inList()泛型方法,它的功能是判断第一个参数是否在从第二个参数开始的数据列表中。开发中,可以通过类似下面的代码使用inList()方法。
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P89_209876.jpg?sign=1738957961-cyJKIIipysShOOsX9CPgXJ9Jnqaf2uGo-0-9c0ed71e77164d425fb201f3d67fb5f0)
代码执行结果如图7-3所示。
![](https://epubservercos.yuewen.com/F132C1/15253386905235706/epubprivate/OEBPS/Images/Figure-P89_61559.jpg?sign=1738957961-3PP7whCYW0EXatqPT1u2HBLXXWXFztyJ-0-7e8f044cf40748ab9668b10d0cb2892d)
图7-3 封装CC.inList()泛型方法