天天看点

java泛型学习3之类型参数的限制

例一

private static <t> t returnt(t i)

{

     return i;

}

returnt("abc");

returnt(1);

以上两个方法均正确。

例二

private static <t> void swap(t[] t, int i, int j)

    t tmp = t[i];

    t[i] = t[j];

    t[j] = tmp;

swap(new string[ ] { "a", "b", "c" }, 0, 1);

swap(new int[]{0,1,2},0,1);

swap(new int[]{0,1,2},0,1)是错误的,t必须是应用类型而不能是基本类型,当然直接传基本类型的值会自动装箱。