泛型的定义与使用

泛型定义

泛型是在类、接口和方法级别上声明和使用,成员变量(实例变量)不能直接定义为泛型类型,然而,你可以在类中使用泛型类型参数,并在成员变量的类型中使用该泛型参数

1. 泛型类的定义

java 复制代码
public class Box<T> {
    private T value;

    public T getValue() {
        return value;
    }

    public void setValue(T value) {
        this.value = value;
    }
}

2. 泛型接口的定义

java 复制代码
public interface SomeInterface<T> {
    T doSomething();
}

3. 泛型方法的定义

java 复制代码
//定义例子1 <T>是定义,T是使用
public <T> T someGenericMethod(T item) { 
    // 实现方法逻辑
    return item;
}

public class Box {
//定义例子2
    public static  <T> void getValue(T pama1) {
        System.out.println("pama1 = " + pama1);
    }



    public static void main(String[] args) {
        String a ="111";
        Box.getValue(a);
        int b =11;
        Box.getValue(b);
    }
}

//例子3
public <T extends Comparable<T>> int compare(T obj1, T obj2) {
    return obj1.compareTo(obj2);
}

//例子4
public <E> void printArray(E[] array) {
    for (E element : array) {
        System.out.print(element + " ");
    }
    System.out.println();
}

4. 限定泛型的上界(使用 extends 关键字)

java 复制代码
public <T extends Number> void someMethod(T number) {
    // 方法逻辑
}

5. 多个泛型参数

java 复制代码
public class Pair<K, V> {
    private K key;
    private V value;

    // 构造函数、getter和setter等方法
}
相关推荐
IDRSolutions_CN23 分钟前
如何将 PDF 中的文本提取为 JSON 格式
java·经验分享·pdf·软件工程·团队开发
摘星编程1 小时前
并发设计模式实战系列(6):读写锁
java·设计模式·并发编程
吴_知遇1 小时前
【华为OD机试真题】428、连续字母长度 | 机试真题+思路参考+代码解析(E卷)(C++)
开发语言·c++·华为od
Java中文社群1 小时前
最火向量数据库Milvus安装使用一条龙!
java·人工智能·后端
Apache Flink1 小时前
京东物流基于Flink & StarRocks的湖仓建设实践
java·大数据·flink
basketball6161 小时前
Python torchvision.transforms 下常用图像处理方法
开发语言·图像处理·python
JAVA百练成神1 小时前
深度理解spring——BeanFactory的实现
java·后端·spring
兔子蟹子1 小时前
Java集合框架解析
java·windows·python
宁酱醇1 小时前
各种各样的bug合集
开发语言·笔记·python·gitlab·bug
DKPT2 小时前
正则表达式
java·数据库·笔记·学习·正则表达式