当前位置:首页 > Java

java如何定义泛型

2026-02-05 07:52:05Java

定义泛型类

在类名后添加尖括号 <T>,其中 T 是类型参数(可自定义名称)。泛型类允许在类内部使用该类型参数表示字段、方法参数或返回值。

public class Box<T> {
    private T content;

    public void setContent(T content) {
        this.content = content;
    }

    public T getContent() {
        return content;
    }
}

使用示例:

Box<String> stringBox = new Box<>();
stringBox.setContent("Hello");
String value = stringBox.getContent();

定义泛型方法

在方法返回类型前声明类型参数 <T>,泛型方法可独立于类的泛型参数。

public <T> void printArray(T[] array) {
    for (T element : array) {
        System.out.println(element);
    }
}

使用示例:

Integer[] intArray = {1, 2, 3};
printArray(intArray); // 自动推断类型为Integer

多类型参数

可定义多个类型参数,用逗号分隔。

public class Pair<K, V> {
    private K key;
    private V value;

    public Pair(K key, V value) {
        this.key = key;
        this.value = value;
    }
}

使用示例:

Pair<String, Integer> pair = new Pair<>("Age", 25);

泛型接口

接口也可使用泛型,定义方式与类类似。

public interface Listener<T> {
    void onEvent(T event);
}

实现示例:

public class StringListener implements Listener<String> {
    @Override
    public void onEvent(String event) {
        System.out.println(event);
    }
}

类型通配符

使用 ? 表示未知类型,常用于方法参数以增强灵活性。

java如何定义泛型

  • <? extends T>:接受 T 或其子类(上界通配符)。
  • <? super T>:接受 T 或其父类(下界通配符)。
public void processList(List<? extends Number> list) {
    for (Number num : list) {
        System.out.println(num.doubleValue());
    }
}

注意事项

  • 泛型仅适用于引用类型,基本类型需使用包装类(如 Integer 代替 int)。
  • 运行时泛型类型会被擦除(类型参数信息丢失),无法直接通过反射获取具体类型。
  • 静态成员不能使用类的类型参数,但可定义独立的泛型静态方法。

标签: 定义java
分享给朋友:

相关文章

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

如何搭建java环境

如何搭建java环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…

java程序如何打包

java程序如何打包

打包Java程序的方法 使用JAR打包 Java程序可以通过JAR(Java Archive)格式打包,这是一种常见的压缩格式,适用于包含多个类文件和资源的项目。以下是使用JAR打包的步骤: 确保项…

如何系统的学习java

如何系统的学习java

学习Java的基础知识 Java的基础知识包括语法、数据类型、变量、运算符、控制流语句等。可以通过官方文档或入门书籍如《Java核心技术》来掌握这些内容。编写简单的程序练习基础语法,例如打印“Hell…