当前位置:首页 > Java

java泛型如何使用

2026-03-03 10:53:48Java

泛型的基本概念

Java泛型是一种在编译时进行类型检查的机制,允许开发者定义类、接口或方法时使用类型参数。泛型的核心目的是提高代码复用性和类型安全性,避免运行时类型转换错误。

泛型类定义

在类名后添加尖括号<>声明类型参数,例如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(); // 无需强制转换

泛型方法

泛型方法在方法返回类型前声明类型参数,可独立于类的泛型参数:

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

调用时编译器会推断类型:

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

类型通配符

使用?表示未知类型,常用于泛型集合的灵活性处理:

  • List<?>:接受任何类型的List
  • List<? extends Number>:接受Number及其子类(上界通配符)
  • List<? super Integer>:接受Integer及其父类(下界通配符)

示例:

public static double sum(List<? extends Number> list) {
    double sum = 0;
    for (Number num : list) {
        sum += num.doubleValue();
    }
    return sum;
}

泛型接口

接口定义方式与类类似:

public interface Pair<K, V> {
    K getKey();
    V getValue();
}

实现时需指定具体类型:

public class OrderedPair<K, V> implements Pair<K, V> {
    private K key;
    private V value;
    // 实现接口方法...
}

类型擦除

Java泛型在编译后会进行类型擦除,转换为原始类型。例如List<String>编译后变为List,元素类型变为Object。运行时无法获取泛型的具体类型信息。

注意事项

  • 不能使用基本类型作为泛型参数(如List<int>非法,需用List<Integer>
  • 无法直接创建泛型数组(如new List<String>[10]非法)
  • 静态方法或静态变量不能使用类的泛型类型参数

通过合理使用泛型,可以显著提升代码的类型安全性和可读性,同时减少类型转换的冗余代码。

java泛型如何使用

分享给朋友:

相关文章

如何运行java文件

如何运行java文件

运行Java文件的方法 确保已安装Java Development Kit (JDK),可通过命令行输入java -version和javac -version验证安装。 编写Java代码并保存为…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclips…

如何搭建java开发环境

如何搭建java开发环境

下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK版本。运行安装程序并按照提示完成安装,建议选择默认路径以减少配置复杂度。 配置环境变量 在系统环境变量中添加JAVA_HO…

如何成为java架构师

如何成为java架构师

掌握扎实的Java基础 深入理解Java核心知识,包括多线程、集合框架、JVM原理、设计模式等。熟悉Java生态中的常用框架如Spring、MyBatis、Hibernate等,并能分析其源码实现。…