之前给大家介绍了一下java泛型集合和java泛型类,那么下面的文章内容要给大家介绍的就是泛型方法,一起来对这个进行一下了解吧。
到现在的话,使用的泛型都是应用于整个类上。
泛型同样能够在类中包含参数化的方法,而方法所在的类可以是泛型类,也可以不是泛型类。
也就是说,是否拥有泛型方法,和他所在的类是不是泛型没有关系。
泛型方法使得这个方法能够独立于类而产生变化。
假如,使用泛型方法能够取代类泛型化,那么就应该只使用泛型方法。
除此之外,对一个static的方法来说,无法访问泛型类的类型参数,所以,假如,static方法需要使用泛型能力,就一定要使其成为泛型方法。
定义泛型方法的语法格式:
[访问权限修饰符][static][final]<类型参数列表>返回值类型方法名([形式参数列表])
例:
public static List < T > find(Class < T > class, int userId) {}
一般来说编写Java泛型方法,其返回值类型至少有一个参数类型应该是泛型,而且类型应该是一致的,假如,只有返回值类型或参数类型之一使用了泛型,那么这个泛型方法的使用就被限制了。
下面的话,就来定义一个泛型方法,具体介绍泛型方法的创建和使用。
示例:
使用泛型方法打印图书信息。
定义泛型方法,参数类型使用“T”来代替。
在方法的主体中打印出图书信息。
代码实现:
public class Test16 { public static < T > void List(T book) { // 定义泛型方法 if (book != null) { System.out.println(book); } } public static void main(String[] args) { Book stu = new Book(1, "细学 Java 编程", 28); List(stu); // 调用泛型方法 } }
这个程序当中的Book类为前面示例中使用到的Book类。
在这个程序当中定义了一个名称为List的方法,这个方法的返回值类型为void,类型参数使用“T”来代替。
在调用该泛型方法的时候,将一个Book对象作为参数传递到该方法中,相当于指明了该泛型方法的参数类型为Book。
运行结果:
1, 细学 Java 编程,28
对于泛型方法的一个简单介绍你都清楚了吧,更多相关的常见问题,可以继续的通过关注奇Q工具网来了解哦。
推荐阅读: