记录几个经常用到的泛型方法定义模板

2023-05-12 20:19:45 浏览数 (1)

泛型方法的定义

代码语言:javascript复制
    /**
     * 泛型参数的无返回值方法
     *
     * 1、public 与 返回值中间<T>非常重要,可以理解为声明此方法为泛型方法。
     * 2、只有声明了<T>的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。
     * 3、<T>表明该方法将使用泛型类型T,此时才可以在方法中使用泛型类型T。
     * 4、与泛型类的定义一样,此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型。
     *
     * @param t
     * @param <T>
     */
    public <T> void show(T t){
    }

    /**
     * 泛型参数的有返回值方法
     *
     * @param t
     * @param <T>
     * @return
     */
    public <T> T get(T t){
        return t;
    }

    /**
     * 多个泛型参数有返回值的方法
     *
     * @param t
     * @param k
     * @param <T>
     * @param <K>
     * @return
     */
    public <T, K> K get(T t, K k){
        return k;
    }  

工作中使用频率较高的几种泛型方法

代码语言:javascript复制
    /**
     * 泛型方法介绍
     *
     * @param t
     * @param <T>
     * @return
     */
    public <T> T genericMethod(T t) {
        return t;
    }

    /**
     * 带有限定符的泛型方法
     *
     * @param t
     * @param <T>
     * @return
     */
    public <T extends Lingyejun> T genericMethod(T t) {
        return t;
    }

    /**
     * 泛型集合的方法
     *
     * @param eList
     * @param <E>
     * @return
     */
    public <E extends Lingyejun> List<E> genericMethod(List<E> eList) {
        return eList;
    }

    /**
     * 泛型集合的定义
     *
     * @param vCollection
     * @param <V>
     * @return
     */
    public <V extends Lingyejun> Map<String, V> genericMethod(Collection<V> vCollection) {
        return null;
    }

0 人点赞