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

    1.泛型类

    2.泛型接口

    3.泛型方法

    4.泛型集合

    5.泛型通配符:?

    package com.ligy.studymvc;
    
    import org.junit.jupiter.api.Test;
    import org.springframework.boot.test.context.SpringBootTest;
    
    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    
    @SpringBootTest
    public class JHTests {
        public class AA<T> {
            private T a;
    
            public T getA() {
                return a;
            }
    
            public void setA(T a) {
                this.a = a;
            }
        }
    
        //泛型方法
        <M> void aa(M a) {
    
            System.out.println(a);
        }
    
        //泛型通配符:?
        //只能作参数传递,不能实例化的时候用
        void show(ArrayList<?> list) {
            Iterator<?> iterator = list.iterator();
    
            while (iterator.hasNext()) {
                System.out.println(iterator.next());
            }
        }
    
        @Test
        void test3() {
            aa("111");
            aa(222);
    
            AA<Integer> t1 = new AA<>();
            t1.setA(123);
            System.out.println(t1.getA());
    
            AA<String> t2 = new AA<>();
            t2.setA("aaaa");
            System.out.println(t2.getA());
    
            ArrayList<Integer> t3 = new ArrayList<>();
            t3.add(11);
            t3.add(22);
            show(t3);
    
            ArrayList<String> t4 = new ArrayList<>();
            t4.add("aa");
            t4.add("bb");
            show(t4);
        }
    
        @Test
        void test2() {
            ArrayList<String> list = new ArrayList<>();
            list.add("111");
            //list.add(222); //这样报错;数据类型,不能第二种
    
            String o1 = list.get(0);
    
            System.out.println(o1);
        }
    
        @Test
        void test1() {
            ArrayList list = new ArrayList();
            list.add("111");
            list.add(222);
    
            Object o1 = list.get(0);
            Object o2 = list.get(1);
            //int o2 = list.get(1);  //这样编译报错
            System.out.println(o1);
            System.out.println(o2);
        }
    }
    天生我材必有用,千金散尽还复来
  • 相关阅读:
    程序的循环结构
    异常处理
    java中多态的使用
    java中String类型的相关知识
    java中类与对象
    java中部分知识点的验证实现
    java 中递归的实现 以及利用递归方法实现汉诺塔
    java 枚举类型和数据二进制等问题思考
    简单的java程序通过对话框输出 计算加减乘除运算(运算方法可选择)
    大道至简第二章读后感
  • 原文地址:https://www.cnblogs.com/ligenyun/p/15755061.html
Copyright © 2011-2022 走看看