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);
        }
    }
    天生我材必有用,千金散尽还复来
  • 相关阅读:
    DataTable 中各种计算(笔记)
    超级强悍开源图表控件ZedGraph,请高手指教数据绑定问题!!!
    ArcGIS Engine 9.3项目迁移到ArcGIS Engine 10 报错的解决方案
    c# ,vb.net代码相互转换
    ArcGIS扩展开发(一)为 ArcGIS Desktop建立Addin插件
    设计
    正则表达式
    JSON入门
    关于Unity中资源导入
    关于Unity中的ShaderLab
  • 原文地址:https://www.cnblogs.com/ligenyun/p/15755061.html
Copyright © 2011-2022 走看看