类,方法用于接收不同的参数或返回值
泛型类或接口
格式
public class name<T1,T2,…>{}
实例(来自菜鸟教程)
public class Box<T> {
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
public static void main(String[] args) {
Box<Integer> integerBox = new Box<Integer>();
Box<String> stringBox = new Box<String>();
integerBox.add(new Integer(10));
stringBox.add(new String("菜鸟教程"));
System.out.printf("整型值为 :%d\n\n", integerBox.get());
System.out.printf("字符串为 :%s\n", stringBox.get());
}
}
泛型方法
格式
[访问权限修饰符] [static] [final] <类型参数列表> 返回值类型 方法名([形式参数列表])public static <T> T maximum(T x, T y, T z) 方法定义
实例(来自菜鸟教程)
// 比较三个值并返回最大值 extends和implements限制 T 的类型
public static <T extends Comparable<T>> T maximum(T x, T y, T z) {
T max = x; // 假设x是初始最大值
if (y.compareTo(max) > 0) {
max = y; //y 更大
}
if (z.compareTo(max) > 0) {
max = z; // 现在 z 更大
}
return max; // 返回最大对象
}
public static void main(String args[]) {
System.out.printf("%d, %d 和 %d 中最大的数为 %d\n\n",
3, 4, 5, maximum(3, 4, 5));
System.out.printf("%.1f, %.1f 和 %.1f 中最大的数为 %.1f\n\n",
6.6, 8.8, 7.7, maximum(6.6, 8.8, 7.7));
System.out.printf("%s, %s 和 %s 中最大的数为 %s\n", "pear",
"apple", "orange", maximum("pear", "apple", "orange"));
}