java中泛型有什么用

補(bǔ)充知識:泛型 
馬克-to-win:從jdk1.5以后,java用<>來限制存入集合容器的對象的類型必須是<>中規(guī)定好的。



例:4.1
import java.util.*;

public class TestMark_to_win {
    public static void main(String args[]) {
        /* the following list can only accept Integer type. */
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(3);
        list.add(2);
        list.add(1);
        list.add(2);
        Iterator iter = list.iterator();
        while (iter.hasNext()) {
            System.out.println(iter.next());
        }
        int length = list.size();
        for (int i = 0; i < length; i++) {
            System.out.println(list.get(i));
        }
    }
}

result is:
1
3
2
1
2
1
3
2
1
2




下面類旁邊的泛型說明類中要用到自己定義的新類型。
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號: 73203。
public class MyClass<MyType> {
    private MyType t;
  
    private void set(MyType t) {
        this.t = t;
    }
  
    public MyType get() {
        return t;
    }
  
     public static void main(String[] args) {
        MyClass<Integer> myInt = new MyClass<Integer>();
        myInt.set(5);
        Integer intRes = myInt.get();
        System.out.println("返回 : " + intRes);
      
        MyClass<String> myStr = new MyClass<String>();
        myStr.set("馬克-to-win");
        String strRes = myStr.get();
        System.out.println("返回 : " + strRes);
    }
}

結(jié)果:
返回 : 5
返回 : 馬克-to-win

泛型的繼承:(和大數(shù)據(jù)的Mapper有關(guān),見WordCount)

class Father<T> {
    public void test(T t) {
        ;
    }
}
class Child extends Father<String> {
    public void test(String t) {
        ;
    }
}

public class Test2 {
    public static void main(String[] args) {

    }
}