java泛型,泛型方法详解

KLQ 2020-08-27 11:34:32 java常见问答 8926

之前给大家介绍了一下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工具网来了解哦。

推荐阅读:

java泛型,泛型类详解

java泛型,泛型集合详解