• Java18-泛型的基础知识


    泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。
    可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。

    
    泛型接口:
    public interface Collection<E> extends Iterable<E>{..}
    泛型类:
    public class Generic<T> { private T key; //key这个成员变量的类型为T,T的类型由外部指定 }
    泛型方法:
    public void play( List<String> animal){...} public void test(List<?> list){...} public void play( List<? extends Animal> animal){...} public Generic(T key) { //泛型构造方法形参key的类型也为T,T的类型由外部指定 this.key = key;} 注意事项: 1.<> 尖括号里边 的参数类型是引用数据类型,不能是基本数据类型 2.类型参数用尖括号加任意字母表示 : <T>,字母一般为单个大写字母,并有一定含义, 例如 T(type),E(element),K(key),V(value) 等等 3.泛型通配符 ?

    ----------------------------------------------------------泛型实践--------------------------------------------------------

    Student:

    package factory.Student;
    
    public class Student {
    public Student(){
            
        }
        //**********字段*************//
        public String name;
        protected int age;
        char sex;
        private String phoneNum;
        
        @Override
        public String toString() {
            return "Student [name=" + name + ", age=" + age + ", sex=" + sex
                    + ", phoneNum=" + phoneNum + "]";
        }
        
    
    
    }

    test_0809
    :
    public class test_0809 {
        public String name = "123";
    }

    泛型:

    package doudou.fanxing;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import doudou.test_0809;
    import factory.Student.Student;
    
    public class test_fanxing01 {
        private static final Object String = null;
    
        public static void main(String[] args) {
            test_fanxing01();
        }
    
        public static void test_fanxing01() {
            List<? super Object> list = new ArrayList<>();
            list.add(new String("123456789"));
            list.add(new Integer(111));
            list.add(new Student()); 
            list.add(new test_0809());
            
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }
     
    }

    代码运行结果:

  • 相关阅读:
    Jmeter配置slave
    Jmeter集合ant进行操作
    PageObject设计模式进行自动化用例的设计方法
    同学,迭代器生成器了解一下
    面向对象的一些方法与属性
    断言与异常
    wtforms-表单生成及验证
    DBUtils--数据库连接池
    Flask请求流程超清大图
    PEP8规范
  • 原文地址:https://www.cnblogs.com/eosclover/p/13594080.html
Copyright © 2020-2023  润新知