Java基础Day-Seventeen

泛型及高阶应用

  • 所谓泛型,就是允许在定义类、接口、方法时使用类型形参(泛型),这个类型形参将在声明变量、创建对象、调用方法时动态地指定,进而让程序具备编译时检查能力

  • 泛型是JDK1.5提供的特性,最常见的泛型应用场景便是在使用集合时通过泛型指定集合内对象的类型,为程序代码提供了编译时纠错的能力

自定义泛型类

  • 自定义泛型类,需要在类名后增加"<标识符>",如下所示:

    public class SampleClass<T>{...}
    • <T>与<E>的区别

      • 标识符的字母本身并无强制要求,常见写法有两种:

      • <T>是Type单词的首字母,说明传入的是类型

      • <E>是Element元素的首字母,代表是集合中的元素

  • 泛型类的创建与使用

    package com.imooc.pt;
    ​
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    ​
    //随机选择List中的元素
    public class CollectionUtils<E> {
        private List<E> data=new ArrayList<>();
        public void add(E element){
            data.add(element);
        }
        public E randomSelect(){
            int idx=new Random().nextInt(data.size());//0~data.size-1,左闭右开
            E ret=data.get(idx);
            return ret;
        }
    ​
        public static void main(String[] args) {
            CollectionUtils<String> utils=new CollectionUtils<>();
            utils.add("张三");
            utils.add("李四");
            utils.add("王五");
            utils.add("赵六");
            utils.add("郑七");
            String name=utils.randomSelect();
            System.out.println(name);
            System.out.println(utils.randomSelect());
            System.out.println(utils.randomSelect());
            System.out.println(utils.randomSelect());
            System.out.println(utils.randomSelect());
        }
    }
    ​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值