软件编程
位置:首页>> 软件编程>> java编程>> Java泛型变量如何添加约束

Java泛型变量如何添加约束

作者:Hello_xzy_World  发布时间:2021-06-02 23:12:06 

标签:Java,泛型,变量

有时,类或方法需要对类型变量加以约束。下面是一个典型的例子,我们要寻找数组中的最小元素:


public class ArrayAlg {
 public static <T extends Comparable> T min(T[] array){
   if (array == null || array.length == 0){
     return null;
   }
   T smallest = array[0];
   for (int i=0;i<array.length;i++){
     if (smallest.compareTo(array[i])>0){
       smallest = array[i];
     }
   }
   return smallest;
 }
}

上述代码中的限制了用于实例化类型参数T的类型,必须是实现Comparable接口(只含有compareTo方法的标准接口)的类。如果没有对T进行限制,那么无法确保实例化T的类型具有compareTo方法。

note

一个类型变量可以有多个限定,例如:

<T extends Comparable & Serializable , U extends Comparable>

限定类型使用 “&”分隔,而“,”用于分隔类型参数。

在Java中,一个类可以实现多个接口,但只能有一个父类,所以在类型参数的限定中,可以有多个接口,但只能有一个类。

<T extends 接口1 & 接口2 & ... & 接口n & 类型1>

来源:https://www.cnblogs.com/KenBaiCaiDeMiao/p/12638644.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com