java泛型中T、E、K等,有什么区别?
先说结论:
除了字母不一样之外没有任何区别
当然你可能会看到很多类似一下的说法
但实际上,这些说法就像定义一个Map型的变量常用 map 起名,定义数组常用 array起名一样,只是一个贴切的名字,实际上用什么都可以。
以下这几种写法全都对,都能正常运行:
private static <T> T genericAdd(T a) {
System.out.println(a );
return a;
}
private static <E> E genericAdd(E a) {
System.out.println(a );
return a;
}
private static <ABCD > ABCD genericAdd(ABCD a) {
System.out.println(a );
return a;
}
private static <AAAAAA> AAAAAA genericAdd(AAAAAA a) {
System.out.println(a );
return a;
}