虽然这里不太说明通用是什么意思,但是在Java中通用类的定义也很简单。 例如,公共类测试{ }。 这将定义通用类Test。 实例化此类时,必须指定通用类t的具体类型。 例如,Test t=new Test (; 指示通用t的类型为Object。
但是,Java的通用方法很复杂。
泛型类是在实例化类时表示泛型类型的具体类型。泛型方法是在调用方法时表示泛型类型的具体类型。
以下定义了通用方法的语法格式。
调用通用方法的语法格式如下:
说明一下,在定义通用方法时,必须在返回值之前添加,声明这是通用方法,拥有通用t,然后使用通用t作为方法的返回值。
Class的作用是展示泛型类型的具体类型,Class类型的变量c可以用于创建泛型类型类的对象。
为什么要用变量c创建对象? 既然是通用方法,因为不知道具体类型是什么,也不知道如何构建对象,所以不能使用变量c的newInstance方法创建对象,也就是使用反射创建对象
一般方法所需的参数是Class类型,Class.forName ()方法的返回值也是Class,因此可以使用Class.forName ()作为参数。 其中forName ) )方法的参数是什么类型,返回的Class是什么类型? 在本例中,forName ) )方法传递User类的完整路径,因此返回Class类型的对象。 因此,调用通用方法时,变量c的类型为Class,因此通用方法的通用t表示为User,变量obj的类型为User。
当然,通用方法并不只有一个参数Class,如果需要,可以添加其他参数。
为什么要使用通用的方法呢? 因为泛型类在实例化时指定类型,所以如果要更改为其他类型,则必须再次new,这可能是不灵活的。泛型方法可以在调用时指定类型,使其更灵活。
附件: Java通用方法演示代码。