zoukankan      html  css  js  c++  java
  • JAVA高级复习-自定义泛型方法

    泛型方法:在方法中出现了泛型的结构,泛型参数与类的泛型参数没有任何关系,也就是说,泛型方法所属的类是不是泛型类都没有关系

    //泛型方法:在方法中出现了泛型的结构,泛型参数与类的泛型参数没有任何关系
        //也就是说,泛型方法所属的类是不是泛型类都没有关系
        //下述方法才为泛型方法,注意格式
        public <E> List<E> copyFromArrayToList(E[] arr) {
            List<E> list = new ArrayList<>();
            for (E e : arr) {
                list.add(e);
            }
            return list;
        }
    

    总结:泛型方法可以声明为静态的,原因:泛型参数是在调用方法的时候确定的,并非在实例化类时确定。

    /**
         * 下面的为静态泛型方法,为什么可以呢,因为泛型方法是被对象调用的,
         * 而之前的带类的泛型参数的静态方法,是类初始化的时候就被调用了
         * 总结:泛型方法可以声明为静态的,原因:泛型参数是在调用方法的时候确定的,并非在实例化类时确定。
         **/
        public static <E> List<E> copyFromArrayToList2(E[] arr) {
            List<E> list = new ArrayList<>();
            for (E e : arr) {
                list.add(e);
            }
            return list;
        }
    

    测试泛型方法

    /**
         * 测试泛型方法
         */
        @Test
        public void test01() {
            Order<String> order = new Order<>();
            Integer[] arr = new Integer[]{1, 2, 3};
            List<Integer> integers = order.copyFromArrayToList(arr);
            System.out.println(integers);
        }
    
  • 相关阅读:
    iOS input disabled显示不清楚
    钉钉小程序——JSAPI
    留言板
    友链
    mysql---存储引擎
    union与limit
    spring--setter注入
    spring---生命周期
    sql03-连接查询
    sql01--认识表
  • 原文地址:https://www.cnblogs.com/elnimo/p/13654458.html
Copyright © 2011-2022 走看看