“核心技术:泛型”的版本间差异
跳到导航
跳到搜索
(→泛型方法) |
|||
第23行: | 第23行: | ||
== 泛型方法 == | == 泛型方法 == | ||
* 类型变量放在修饰符(这里是public static ) 的后面,返回类型的前面。 | |||
<syntaxhighlight lang="java"> | |||
class ArrayAlg | |||
{ | |||
public static <T> T getMiddle(T... a) | |||
{ | |||
return a[a.length / 2]; | |||
} | |||
} | |||
</syntaxhighlight> | |||
== 泛型变量的限定 == | == 泛型变量的限定 == |
2020年10月22日 (四) 12:34的版本
为什么要使用泛型
泛型程序设计(Generic programming) 意味着编写的代码可以被很多不同类型的对象所重用。
类型参数( type parameters )。ArrayList 类有一个类型参数用来指示元素的类型:
ArrayList<String> files = new ArrayList<String>();
- 在Java SE 7 及以后的版本中, 构造函数中可以省略泛型类型:
ArrayList<String> files = new ArrayList<>();
定义简单泛型类
一个泛型类( generic class ) 就是具有一个或多个类型变量的类。
- 换句话说,泛型类可看作普通类的工厂。
泛型方法
- 类型变量放在修饰符(这里是public static ) 的后面,返回类型的前面。
class ArrayAlg
{
public static <T> T getMiddle(T... a)
{
return a[a.length / 2];
}
}