zoukankan      html  css  js  c++  java
  • java 泛型

    一、简单小例子。

     尖括号中包含的是形式类型参数formal type parameters),它们就如同一般的类型一样,可以在整个类的声明中被使用。

     当类被使用时,会使用具体的实际类型参数actual type argument)代替。

      形式类型参数的命名:尽量使用单个的大写字母(有时候多个泛型类型时会加上数字,比如T1,T2),比如许多容器集合使用E,代表element(元素),Map中用K代表键keys,V代表值。

     值得注意:基本数据类型调用泛型函数,返回对应的包装类型。

    public static void main(String[] args) {
            // 基本数据类型返回对应的包装类型
            Integer num = getGener(122);
            Character[] ch = new Character[] { 'w', 's', 'w' };
            getGener2(ch);
            System.out.println(num);
        }
    
        private static <T> T getGener(T o) {
            return o;
        }
        private static <T> T getGener2(T[] o) {
            T obj = o[2];
            return obj;
        }

     二、泛型类

    import java.util.Arrays;
    
    class Tool<T> {
    
        public  void reverse(T[] arr) {
            Arrays.sort(arr);
        }
    }
    
    public class Generics {
    
        public static void main(String[] args) {
            Tool<Integer>tool=new Tool<Integer>();
            Integer[]num={1,3,0,2};
            tool.reverse(num);
        }
    
    }

    三、泛型接口

    interface Dao<T> {
    
    }
    
    class Demo <T> implements Dao<T> {
    
    }

     四、限制泛型

    package generics;
    
    import java.util.ArrayList;
    import java.util.Collection;
    
    public class Generics {
    
        public static void main(String[] args) {
        ArrayList<Integer>arr=new ArrayList<Integer>();
        ArrayList<Object>objs=new ArrayList<Object>();
        lower(arr);
        lower(objs);
        }
    
        // 下限:Integer的父类
        public static void lower(Collection<? super Integer> o) {
    
        }
    
        // 上限:Number的子类
        public static void upper(Collection<? extends Number> o) {
    
        }
    }
  • 相关阅读:
    function 基础运用
    js基础知识2
    JavaScript的一些基础知识
    CSS3中2D3D转换、过渡、动画总结
    css的一些基础属性
    响应式布局和移动端开发
    css3动画
    美化盒子以及bootstrap的简单了解
    利用JS的双重for循环实现九九乘法表
    js练习:金字塔正星星与倒星星
  • 原文地址:https://www.cnblogs.com/wswbk/p/6729803.html
Copyright © 2011-2022 走看看