• jdk5.0泛型


    泛型

    泛型的应用场景

    泛型一般使用在集合上,使用了泛型的集合,这集合的所装载的元素类型就会确定下来;就好比缸是个集合,为了让这个缸只能装米, 就给这口缸贴上一个【米】,不允许这口缸来装其他的东西。我们有个List集合想让他只能放String类型元素,我们就给这个List添加String泛型,例如:List<String>

    不使用泛型时的遇到的问题

    public class YouXin01 {
        public static void main(String[] args) {
            List list = new ArrayList();
            list.add(new A());
            list.add(new B());
            // 取出的是Object对象,不能调用A对象里的方法
            System.out.println(list.get(0));
        }
    }
    class A {
        public void test() {
            System.out.println("这是A");
        }
    }
    class B {
        public void test() {
            System.out.println("这是B");
        }
    }

    使用泛型情况

    List<A> list = new ArrayList<A>();
    list.add(new A());
    list.get(0).test();                     //这时就可以调用了

    泛型注意的地方

    泛型里面写的是一个对象,不能写基本的数据类型,比如int要使用Integer。

    泛型的使用

    泛型使用在方法上

    public class YouXin02 {
        public static void main(String[] args) {
            Integer[] arr3 = {10, 11, 12, 13, 14};
            swap(arr3, 1, 3);
            System.out.println(Arrays.toString(arr3));
            //结果: 10, 13, 12, 11, 14
        }
    
        /**
         * 使用泛型方法
         * 需要定义一个类型使用大写字母表示T: 这个T表示任意的类型
         * 写在返回值之前
         * ======表示定义了一个类型,这个类型是T
         * 那这样在方法里就可以使用这个类型T了
         */
        public static <T> void swap(T[] arr,int a,int b) {
       T temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } }

    泛型在类上的使用

    public class YouXin03<T> { //直接在类名后定义 T aa; //在类里面可以直接使用T的类型 public void test11(T bb) {} //使用泛型类 /* * 注意: 这是错的,静态方法里是不能使用泛型的 * 在类上面定义的泛型,不能在静态方法里面使用 */ //public static void test12(T cc) {} }

  • 相关阅读:
    ElasticSearch基本用法
    几款Http小服务器
    【最长上升子序列】HDU 1087——Super Jumping! Jumping! Jumping!
    方差与样本方差、协方差与样本协方差
    方差与样本方差、协方差与样本协方差
    统计推断(statistical inference)
    统计推断(statistical inference)
    R 语言学习(二)—— 向量
    R 语言学习(二)—— 向量
    R 语言的学习(一)
  • 原文地址:https://www.cnblogs.com/paoge/p/13571215.html
Copyright © 2020-2023  润新知