java泛型

本文深入探讨了Java泛型的使用,包括泛型中不能使用基础数据类型、泛型的父类与子类多态限制、类型通配符的上下限以及泛型在接口和嵌套类的应用。示例代码展示了泛型的实际操作,如创建泛型对象、定义泛型接口和泛型嵌套类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

泛型中不能 使用基础数据类型
Pointer<Integer,Integer> pointer1 = new Pointer<Integer,Integer>(1, 2);
泛型中父类不能 接受子类 多态的向上转型
定义变量时不知道类型,用特定占位置,在使用时确定类型。 占位符必须大写
Pointer p = new Pointer(1, 2);
class Pointer<T,V>{
        private T x;
        private V y;}  
     
类型通配符:<?>表示未知类型 ,它可以匹配任何类型
        List<?> list1 = new ArrayList<Object>();
类型通配符上限:<? extends>  不能高于他本身的类型 例如:Object就不行
        List<? extends Number> list5 = new ArrayList<Number>();
        List<? extends Number> list6 = new ArrayList<Integer>();
        System.out.println("----------");
类型通配符下限:<? super 类型> 于上限相反,不能低于他本身 例如:Integer就不行
        List<? super Number> list7 = new ArrayList<Object>();
        List<? super Number> list8 = new ArrayList<Number>();


方法定义泛型接口定义泛型

interface AAA<T>{
    T test1();
}
//方式一
class CCC<T> implements AAA<T>{
    @Override
    public T test1() {
        return null;
    }
}
//方式二
class DDD implements AAA<Integer>{
    @Override
    public Integer test1() {
        return null;
    }
}

泛型嵌套

class User<T,V>{
    private String name;
    private T xxx;
    private V yyy;
}
class Order<T>{}
public static void main(String[] args) {
    User<String, Order<Integer>> stringOrderUser = new User<>();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值