当前位置:首页 > Java

java 如何定义泛型

2026-03-03 18:51:46Java

泛型的基本定义

在Java中,泛型通过类型参数(<T>)实现,允许类、接口或方法在定义时使用占位符类型,实际使用时再指定具体类型。泛型的核心目的是提高代码复用性和类型安全性。

类定义示例:

public class Box<T> {
    private T content;
    public void setContent(T content) { this.content = content; }
    public T getContent() { return content; }
}
  • T 是类型参数,使用时可以替换为具体类型(如 IntegerString)。

泛型方法

泛型方法可以在非泛型类中定义,方法独立声明类型参数:

public <T> void printArray(T[] array) {
    for (T element : array) {
        System.out.println(element);
    }
}
  • 调用时根据传入的数组类型推断 T,例如 printArray(new String[]{"a", "b"})

多类型参数

泛型支持多个类型参数,用逗号分隔:

public class Pair<K, V> {
    private K key;
    private V value;
    // 构造方法和getter/setter省略
}
  • 示例:Pair<String, Integer> pair = new Pair<>("age", 25);

泛型接口

接口同样可以使用泛型:

public interface Repository<T> {
    void save(T entity);
    T findById(int id);
}
  • 实现类需指定具体类型或保留泛型参数。

类型通配符

用于处理未知的泛型类型,常见于方法参数:

  • <?> 表示未知类型(无限制)。
  • <? extends Number> 表示上限为 Number 或其子类。
  • <? super Integer> 表示下限为 Integer 或其父类。

示例:

java 如何定义泛型

public void processList(List<? extends Number> list) {
    for (Number num : list) {
        System.out.println(num.doubleValue());
    }
}

泛型限制

  1. 不能实例化类型参数T obj = new T(); 是非法的。
  2. 不能用于静态上下文:静态变量或方法不能使用类的类型参数。
  3. 类型擦除:运行时泛型信息会被擦除,转换为原生类型(如 Box<T> 变为 Box)。

实际应用场景

  1. 集合框架:如 ArrayList<String> 确保类型安全。
  2. 工具类:通用数据处理(如转换、比较)。
  3. 设计模式:如工厂模式返回泛型对象。

通过合理使用泛型,可以减少类型转换错误并增强代码可读性。

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

相关文章

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方法名…

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

java如何输入字符串

java如何输入字符串

使用 Scanner 类 在 Java 中,可以通过 java.util.Scanner 类来输入字符串。以下是一个示例代码: import java.util.Scanner; public c…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

如何编译java

如何编译java

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证是否安装成功。若未安装,需从Oracl…

如何安装java软件

如何安装java软件

下载Java安装包 访问Oracle官方网站或OpenJDK开源项目页面,选择适合操作系统的Java版本(如Windows、macOS或Linux)。对于个人使用,通常下载JDK(Java Devel…