Java学习-工具IDEA-黑马视频(第十二天)

本文介绍了Java中的泛型概念,包括泛型类、泛型方法和泛型接口的定义与使用。同时,详细讲解了类型通配符,如<?>、<? extends 类型>和<? super 类型>的应用场景。此外,还阐述了Java中的可变参数特性,展示了如何创建和使用可变参数的方法,以及在不同类型的列表中进行操作的限制。示例中演示了不同类型的列表和集合的不可变性及其在实际操作中的注意事项。
摘要由CSDN通过智能技术生成

泛型概述

格式:<类型>,这个类型可以看成形参传入进去
在这里插入图片描述

泛型类

格式::修饰符 class 类名<类型> { }
范例:public class Generic{ }
在这里插入图片描述

在这里插入图片描述

泛型方法

在这里插入图片描述

泛型接口

范例:public interface Generic{ }
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类型通配符

类型通配符:<?>
List<?>: 表示元素类型未知的List ,它的元素可以匹配任何的类型
这种通配符的List仅表示它是各种泛型List的父类i,并不能把元素添加到其中

如果不希望List<?>是任何泛型List的父类,只希望它代表某一类泛型List的父类,可以使用类型通配符上限
类型通配符上限:<?extends 类型>
List<? extends Number>:它表示的类型是Number或者其子类

类型通配符下限:<? super 类型>
List<? super Number>:它表示的类型是Number或者其父类
在这里插入图片描述

可变参数

方法参数个数可变
格式:修饰符 返回值类型 方法名(数据类型 …变量名)
范例:public static int sum(int …a){}

在这里插入图片描述

        //返回由指定数组支持的固定大小的列表
        List<String> list = Arrays.asList("JYQ","WST","WYX");
        //下面两个方法会修改集合大小,故会报错,而set不修改集合大小
//        list.add("XKA");//UnsupportedOperationException不支持添加操作
//        list.remove("JYQ");//UnsupportedOperationException不支持添加操作
        list.set(1,"XQQ");//可以
        System.out.println(list);

        //放回包含任意数量元素的不可变列表
        List<String> list2 = List.of("WST","JYQ","WYX");
        //UnsupportedOperationException不支持添加操作
//        list2.add("XKA");
//        list2.remove("WST");
//        list2.set(3,"JYQ");
        System.out.println(list2);

        //返回一个包含任意数量元素的不可变集合,当添加相同元素时,
        // 抛出非法或不正确参数IllegalArgumentException
        Set<String> set = Set.of("WST","JYQ","WYX");
//        set.add("XKA");//UnsupportedOperationException不支持添加操作
//        set.remove("WST");//UnsupportedOperationException不支持添加操作
//        set.set(3,"JYQ");//Set集合没有set方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值