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);
        }
    }
    天生我材必有用,千金散尽还复来
  • 相关阅读:
    P4839 P哥的桶 题解(线段树维护线性基)
    线性基入门
    Lowest Common Ancestor 题解(lca+思维)
    B
    java string对象的简单方法
    AtCoder Grand Contest 016 D
    FFT
    回文自动机(BZOJ2565)
    二维RMQ
    AC自动机(BZOJ1030)
  • 原文地址:https://www.cnblogs.com/ligenyun/p/15755061.html
Copyright © 2011-2022 走看看