Java 中的泛型问号(?)和 T 都是用来表示泛型类型,但它们的作用略有不同。

  1. 泛型问号

泛型问号(?)被称为通配符,它表示未知的类型。在泛型中,我们有时需要接受多种类型的参数,这时就可以使用通配符。通配符的作用是限制泛型类型的范围,让参数能够接受多种类型。

通配符可以有以下几种形式:

  • :表示未知类型,可以接受任何类型的参数。
  • :表示参数可以是该类或其子类的实例。
  • :表示参数可以是该类或其父类的实例。
  1. T

T 是一种泛型类型变量,它表示一个占位符,用来表示任何类型。在泛型类或泛型方法中,我们可以使用 T 来表示一个未知的类型,具体的类型由实际参数决定。T 表示的是一个具体的类型,在定义泛型类或泛型方法时,需要在类或方法名后面加上 来定义泛型类型。

例如:

public class Box<T> {
    private T content;
    public void setContent(T content) {
        this.content = content;
    }
    public T getContent() {
        return content;
    }
}

在这个例子中,Box 表示一个泛型类,T 表示一个占位符,用来表示任何类型。getContent() 方法返回的类型是 T,具体的类型由 setContent() 方法传入的参数类型决定。

Java 泛型:问号(?)和 T 的区别与使用

原文地址: https://www.cveoy.top/t/topic/l4o5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录