当前位置:首页 > Java

如何定义泛型java

2026-03-18 12:47:34Java

定义泛型类

在Java中,泛型类通过类型参数(通常用大写字母如TE等表示)定义。类名后使用尖括号声明类型参数,类内部可将其用作字段、方法参数或返回类型。

public class Box<T> {
    private T content;

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

    public T getContent() {
        return content;
    }
}

定义泛型方法

泛型方法在方法返回类型前声明类型参数,即使所在类不是泛型类也可使用。

如何定义泛型java

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

多类型参数

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

如何定义泛型java

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

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

泛型接口

接口同样可以定义为泛型,实现类需指定具体类型或保持泛型。

public interface List<T> {
    void add(T item);
    T get(int index);
}

// 实现示例
public class StringList implements List<String> {
    private ArrayList<String> items = new ArrayList<>();

    @Override
    public void add(String item) {
        items.add(item);
    }

    @Override
    public String get(int index) {
        return items.get(index);
    }
}

类型通配符

使用?表示未知类型,通常用于方法参数以增强灵活性。? extends T表示上界通配符,? super T表示下界通配符。

public void printList(List<?> list) {
    for (Object item : list) {
        System.out.println(item);
    }
}

// 上界通配符示例
public double sum(List<? extends Number> numbers) {
    double total = 0;
    for (Number num : numbers) {
        total += num.doubleValue();
    }
    return total;
}

泛型限制

  • 不能使用基本类型(如int),需用包装类(如Integer)。
  • 不能直接实例化类型参数(如new T()),需通过反射或工厂模式实现。
  • 静态成员不能使用类的类型参数。

通过以上方式,可以灵活定义和使用泛型,提升代码的类型安全性和复用性。

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

相关文章

如何使用java

如何使用java

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

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

java如何上传文件

java如何上传文件

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

java如何创建数组

java如何创建数组

创建数组的基本方法 在Java中,数组是固定大小的同类型元素集合。创建数组需要声明数组类型并初始化。 声明数组 语法格式为 数据类型[] 数组名 或 数据类型 数组名[]: int[] arr1;…

java如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…