例一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必须是应用类型而不能是基本类型,当然直接传基本类型的值会自动装箱。