泛型方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型方法相关的知识,希望对你有一定的参考价值。

 

最近阅读java编程思想上的泛型一章,做了一些笔记,并且照例写了一些代码。

泛型这一章内容比较多,这篇文章所述,只是泛型方法的一些概念和运用。

 

1、定义方式: 在方法返回之前添加泛型列表,例如 public <T> void f()

技术分享

技术分享

两个方法的区别是,第二个方法的第三个参数必须时Boolean类型,但第一个则没有这种限制。这也是使用泛型的一大好处吧。接口更加宽。

2、类型推断:
意思是使用赋值语句来调用泛型方法时,不用指定参数类型,编译器会自己会找到具体的类型。例如:

技术分享

假如你想要自己显示添加参数类型,则写成
Map<String, Integer> map = New.<String, Integer>map();但这其实是不需要的,没有图中的简洁优雅。

3、可变参数和泛型结合起来使用:

技术分享

这样只要传入任意同一种类型的参数值(无论多少个),都会返回给你一个存放这些值的列表。

 

接下来是一个Set的工具类,提供了set集合的并,减等功能:

技术分享

 



以上是关于泛型方法的主要内容,如果未能解决你的问题,请参考以下文章

C#泛型类,泛型接口,泛型方法,泛型委托怎么用

8.4 泛型方法

Java泛型学习笔记 - 泛型方法

C#泛型方法,泛型约束问题

泛型方法以及泛型方法泛型类的使用场景

Scala泛型