Java泛型 多重限定类型参数
Java泛型 多重限定类型参数 介绍
一个类型参数可以有多个限定类型。
Java泛型 多重限定类型参数 语法
public static <T extends Number & Comparable<T>> T maximum(T x, T y, T z)
-
maximum :最大值是一种通用方法。
-
T :传递给泛型方法的泛型类型参数。它可以接受任何对象。
T 是传递给泛型类 Box 的类型参数,应该是 Number 类的子类型,并且必须实现 Comparable 接口。如果一个类作为绑定传递,它应该在接口之前首先传递,否则会发生编译时错误。
Java泛型 多重限定类型参数 示例
package com.yiidian;
public class GenericsTester {
public static void main(String[] args) {
System.out.printf("Max of %d, %d and %d is %d\n\n",
3, 4, 5, maximum( 3, 4, 5 ));
System.out.printf("Max of %.1f,%.1f and %.1f is %.1f\n\n",
6.6, 8.8, 7.7, maximum( 6.6, 8.8, 7.7 ));
}
public static <T extends Number
& Comparable<T>> T maximum(T x, T y, T z) {
T max = x;
if(y.compareTo(max) > 0) {
max = y;
}
if(z.compareTo(max) > 0) {
max = z;
}
return max;
}
// 如果用下面语法会编译保存
/* public static <T extends Comparable<T>
& Number> T maximum1(T x, T y, T z) {
T max = x;
if(y.compareTo(max) > 0) {
max = y;
}
if(z.compareTo(max) > 0) {
max = z;
}
return max;
}*/
}
输出结果如下:
热门文章
优秀文章