泛型的定义与使用

泛型定义

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

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等方法
}
相关推荐
严同学正在努力21 分钟前
从备份到恢复:我用 30 分钟恢复了误删的核心业务表
android·java·数据库·ai
a11177632 分钟前
中文优先的企业 RAG 知识库 开源项目
开发语言·开源·kotlin
破z晓38 分钟前
javascript 导出excel表
开发语言·javascript·excel
西门啐血1 小时前
上位机开发之假装有设备,使用 C# 模拟串口设备
开发语言·mongodb·c#
QQ_21696290961 小时前
Spring Boot 养老院管理系统:从入住、护理到费用结算的全流程实现(源码可领)
java·spring boot·后端
ask_baidu1 小时前
python实现Doris的streamLoad
开发语言·python
cxoptics1 小时前
冰洲石分束器设计与应用
java
ck-joker2 小时前
M1 Pro跑LLM实测:Ollama+LangChain4j零成本本地大模型开发,比云端API快在哪?
java·语言模型
阿米亚波2 小时前
【C++ STL】std::unordered_multiset
开发语言·数据结构·c++·笔记·stl
丙氨酸長鏈2 小时前
[Bukkit插件开发]手持发射器箭矢机枪 教学文档 面向Python/C#开发者入门Java与Bukkit API
java·python·c#