• JAVA高级复习-泛型的使用


    1、JDK5.0新增的特性

    2、在集合中使用泛型

    总结:

    ① 集合接口 或 集合类在JDK5.0时都修改为带泛型的结构

    ② 在实例化集合类时,可以指明具体的泛型类型

    ③ 指明完以后,在集合类 或 接口中,凡是定义类 或 接口时,内部结构(比如:方法、构造器、属性等)使用到类的泛型的位置,都指定为实例化的泛型类型。比如:add(E e) --> 实例化以后:add(Integer e)

    ④ 注意点:泛型的类型必须是类,不能是基本数据类型,需要用到基本数据类型的位置,拿其对应的包装类替换

    public class GenericTest {
    
        /**
         * 在集合中不使用泛型可能出现的问题
         */
        @Test
        public void test01(){
            List list = new ArrayList<>();
            list.add(1);
            list.add(2);
            //问题一:类型不安全
            list.add("好的");
    
            for (Object obj : list) {
                //问题二:强转时,出现ClassCastException
                Integer num = (Integer) obj;
                System.out.println(num);
            }
        }
    
        /**
         * 在集合中使用泛型,以ArrayList为例
         */
        @Test
        public void test02() {
            //泛型的数据类型不能是基本数据类型,所以下面的注释掉的是错误的
    //        List<int> list = new ArrayList<>();
            List<Integer> list = new ArrayList<>();
            list.add(1);
            list.add(2);
            //泛型自带类型检查,编译时,就会进行类型检查,保证数据的安全
    //        list.add("好的");
            for (Integer obj : list) {
                //泛型避免了强转操作
                Integer num =  obj;
                System.out.println(num);
            }
        }
    
        /**
         * 在集合中使用泛型,以HashMap为例
         */
        @Test
        public void test03() {
            Map<String, Integer> map = new HashMap<>();
            map.put("TOM", 1);
            map.put("JACK", 2);
            Set<Map.Entry<String, Integer>> entries = map.entrySet();
            Iterator<Map.Entry<String, Integer>> iterator = entries.iterator();
            while (iterator.hasNext()) {
                Map.Entry<String, Integer> next = iterator.next();
                String key = next.getKey();
                Integer value = next.getValue();
                System.out.println(key);
                System.out.println(value);
            }
        }
    
    }
    
  • 相关阅读:
    MUI常用脚本及原生JavaScript常用操作元素方法
    cmf5分页相关
    TP5数据库操作方法总结
    mui的选项卡js选中指定项
    thinkphp 5数据库操作
    阻止touchslider事件冒泡,防止左右滑动时出发全局滑动事件
    thinkcmf5 学习笔记
    PHP Fatal error: Call to undefined function thinkfinfo_open()
    phpstudy iis版本 php4.4.5 和 php5.6.7目录权限问题
    手机uc不支持伪元素使用animation动画;移动端background-attachment:fixed不兼容性
  • 原文地址:https://www.cnblogs.com/elnimo/p/13648921.html
Copyright © 2020-2023  润新知