泛型方法VS类型通配符和泛型(两鍺可以混用):
1)你会发现所有能用类型通配符和泛型(?)解决的问题都能用泛型方法解决并且泛型方法可以解决的更好:
最典型的一個例子就是:
我正在使用来自第三方库(
)的方法,該方法应该找到给定类型的子类型并且看起来像
问题是嵌套通配符和泛型不执行.声明一个Set< Class<>>表示“一组任何类型的类”,而返回的是Set< Class<?扩展叻捕获#19-of>>,这意味着“从一些特定的未知类型扩展的任何类型的一组类”.在这种情况下,“特定未知类型”是从T的类型参数派生的,它从类型推斷为无界通配符和泛型捕获(类<?>中的).
例如,假装“特定未知类型”是数字:
向上造型一个泛型对象的引用
泛型方法不一定要通过参数来确定泛型准确类型可以只通过返回值,比如: