java中泛型有什么用

补充知识:泛型 
马克-to-win:从jdk1.5以后,java用<>来限制存入集合容器的对象的类型必须是<>中规定好的。



例: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社区:防盗版实名手机尾号: 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);
    }
}

结果:
返回 : 5
返回 : 马克-to-win

泛型的继承:(和大数据的Mapper有关,见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) {

    }
}