Java泛型多边界 Java泛型有界类型参数 Java泛型通用列表 一个类型参数可以有多个边界。 句法 public static <T extends Number & Comparable<T>> T maximum(T x, T y, T z) 哪里 最大值 - 最大值是一种通用方法。 T - 传递给泛型方法的泛型类型参数。 它可以采用任何对象。 描述 T是传递给泛型类Box的类型参数,应该是Number类的子类型,并且必须包含Comparable接口。如果一个类作为绑定传递,它应该在接口之前先传递,否则会发生编译时错误。 例 使用您选择的任何编辑器创建以下Java程序。 package com.codingdict; 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; } // Compiler throws error in case of below declaration /* 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; }*/ } 这将产生以下结果 - 输出 Max of 3, 4 and 5 is 5 Max of 6.6,8.8 and 7.7 is 8.8 Java泛型有界类型参数 Java泛型通用列表