泛型、可变参数

1 泛型
(1)将类型由原来的具体的类型参数化,在使用或调用时传入具体的类型。
(2)泛型的好处
把运行时的问题提前到编译时
避免了强制类型转换

2 泛型类
格式:修饰符 class 类名<类型>{}
如:public class Generic<T>{}
此处T可以为任意标识,常见的如T、E、K、V等常用于标识泛型

3 泛型方法
格式:修饰符 <类型> 返回值类型 方法名(类型 变量名){}
如:public <T> void show(T t){}

4 泛型接口
格式:修饰符 interface 接口名<类型>{}
范例:public interface Generic<T>{}

5 类型通配符<?>
(1)List<?>:表示元素类型未知的List,它的元素可以匹配任何的类型
(2)可以指定类型通配符的上限、下限
List<? extends Number>:表示的类型是Number或其子类型
List<? super Number>:表示的类型是Number或其父类型

6 可变参数
可变参数用作方法的形参,方法的参数个数就是可变的
格式:修饰符 返回值类型 方法名(数据类型...变量名)
如果一个方法有多个参数,包含可变参数,可变参数要放在所有参数的最后
示例:

    public static void main(String[] args) {
        evaluate("张三",5,7);
        evaluate("李四",2,2,3,5);
        evaluate("王五",3,1,5);
    }

    //普通参数不能放在可变参数后面
    public static void evaluate(String name, int... scores) {
        int sum = 0;
        for (int i : scores) {
            sum += i;
        }
        System.out.println(name + "的总评分为:" + sum);
    }

7 集合类中的可变参数方法
(1)Arrays工具类
public static <T> List<T> asList(T...a):返回由指定数组支持的固定大小的列表
返回的集合不能做增删操作,可以修改
(2)List接口
public static <E> List<E> of(E...emements):返回包含任意数量元素的不可变列表
返回的集合不能做增删改操作
(3)Set接口
public static <E> Set<E> of(E...emements):返回包含任意数量元素的不可变列表
返回的集合不能做增删改操作
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海阔天空2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值