首页 > 技术文章 > java中的泛型系列五:自定义泛型

danyuzhu11 2016-12-14 13:07 原文

1、方法上申明泛型:

public <T> T a(T t){   
        return t;    
    }

调用:

public void testa(){
        a("aaa");
    }

2、方法上申明多个泛型:

public <T,E,K>  void b(T t,E e,K k){
    //可以申明多个泛型    
}

 

3、类上面申明泛型,可以是多个:

public class Demo2<T,K,V> {}

注意:/类上面可以申明泛型,类申明了,方法就不需要了。指作用在类的非静态方法上。

4、静态方法申明泛型

public static <T>  void c(T t){  }

--------------------------------------------------------------------

泛型的联系:

1、写一个数组,两个指定位置的元素交换

public <T> void swp(T arr[],int a,int b){
        T temp=arr[a];
        arr[a]=arr[b];
        arr[b]=temp;
    }
2、编写一个泛型方法,接收一个任意数组,并颠倒数组中的所有元素。

public <T> void reverse(T arr[]) {
        int start = 0;
        int end = arr.length - 1;
        while (true) {
            if (start >= end) {
                break;
            }
            T temp = arr[start];
            arr[start] = arr[end];
            arr[end] = temp;
            start++;
            end--;

        }
    }

推荐阅读