Java泛型extends用法是什么

avatar
作者
筋斗云
阅读量:0

在Java中,extends关键字用于定义泛型的上界。它限制了泛型类型参数可以接受的实际类型。当使用泛型时,你通常会指定一个上界,以确保类型安全。

extends关键字在泛型中的用法有两种情况:

  1. 限制泛型类型参数必须是某个类的子类或实现某个接口。
  2. 限制泛型类型参数必须是某个类的子类或实现某个接口,同时还可以指定多个上界。

以下是两种情况的示例:

情况1:限制泛型类型参数必须是某个类的子类或实现某个接口

public class GenericBox<T extends Number> {     private T value;      public void setValue(T value) {         this.value = value;     }      public T getValue() {         return value;     } } 

在这个例子中,GenericBox类是一个泛型类,它接受一个类型参数T,并且T必须是Number类的子类或实现Number接口。这意味着GenericBox可以用于任何Number类型,如IntegerDouble等,但不能用于非Number类型。

情况2:限制泛型类型参数必须是某个类的子类或实现某个接口,同时还可以指定多个上界

public class MultiBoundGeneric<T extends Number & Comparable<T>> {     private T value;      public void setValue(T value) {         this.value = value;     }      public T getValue() {         return value;     } } 

在这个例子中,MultiBoundGeneric类是一个泛型类,它接受一个类型参数T,并且T必须是Number类的子类或实现Number接口,同时T还必须是Comparable<T>接口的实现类。这意味着MultiBoundGeneric只能用于实现了NumberComparable<T>接口的类型,如IntegerDouble等。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!