Java泛型

Java泛型

泛型上下限

泛型的上限

格式:<? extends 类>
含义:只能接收该类型及其子类

泛型的下限

格式:<? super 类>
含义:只能接收该类型及其父类

泛型方法

泛型方法返回值之前的泛型声明,是用来告诉编译器在编译的时候识别它的类型。

静态方法

public static <K> void sold(K k){
    System.out.println(k.getClass().getSimpleName());
}

静态方法中的泛型不能直接使用类声明的泛型类型,需要单独声明一个。如果和类声明的泛型类型一样,会有报错提示:
img

但是,如果在返回方法前声明泛型方法则不会报错,代码可以正常运行:
img

在泛型类中使用泛型静态方法,为了代码的可阅读行,建议和类中的泛型声明区别开来。

非静态方法

public class Fruit<T> {
    public <T extends Apple> void price(T t){
        System.out.println(t.getClass().getSimpleName());
    }

    public static <K> void sold(K k){
        System.out.println(k.getClass().getSimpleName());
    }
}

非静态方法返回值前的泛型声明可以省略,不过需要指定泛型上下限的时候需要在返回之前显示声明泛型类型。

posted @   BugsHunter  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示