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

    自定义和使用含有泛型的类:

    public class Generic<E> {
        private E name;
    
        public E getName() {
            return name;
        }
    
        public void setName(E name) {
            this.name = name;
        }
    }
    public static void main(String[] args) {
          Generic<String> generic=new Generic<>();
          generic.setName("Sam");
            System.out.println(generic.getName());
            Generic<Integer> generic1=new Generic<>();
            generic1.setName(1);
            System.out.println(generic1.getName());
        }

    自定义含有泛型的方法。

    格式:

      修饰符  <泛型>  返回值类型 方法名 (参数列表【泛型】){方法体}

    public class GenericMethod {
        public <T> void show(T t){
            System.out.println(t);
        }
        //静态方法
        public static <T> void staticMethod(T t){
            System.out.println(t);
        }
    }
     public static void main(String[] args) {
         GenericMethod genericMethod=new GenericMethod();
         genericMethod.show("Sam");
            genericMethod.show(1);
            genericMethod.show(true);
            GenericMethod.staticMethod("静态方法");
        }

    自定义和使用含有泛型的接口:

    泛型的通配符:

    ?:代表任意的数据类型。

    使用方式:

      不能

     public static void main(String[] args) {
         ArrayList<String> string=new ArrayList<>();
         string.add("abc");
         string.add("edf");
         ArrayList<Integer> integers=new ArrayList<>();
         integers.add(123);
         integers.add(456);
         show(string);
         show(integers);
    
        }
        //想让一个方法能遍历上面两个集合。
        public static void show(ArrayList<?> list){
            Iterator<?> iterator= list.iterator();
            while (iterator.hasNext()){
                System.out.println(iterator.next());
            }
    
        }

    受限泛型

     泛型的上限限定:  ? extends E  代表使用的泛型只能是E类型的子类/本身

    泛型的下限限定: ?super E  代表使用的泛型只能是E类型的父类/本身

  • 相关阅读:
    tp5更改入口文件到根目录的方法分享
    Linux安装JBOSS
    JBOSS和WebLogic区别
    面向对象编程的思维方式
    Struts+Spring+Hibernate整合入门详解
    DB2 UDB V8.1 管理
    oracle与DB2的一些架构
    oracle和DB2的差异
    JDK和JRE的区别
    Linux安装weblogic
  • 原文地址:https://www.cnblogs.com/zhangyuhao/p/10732151.html
Copyright © 2011-2022 走看看