类型参数的命名约定
发现不少人对于Java泛型的类型参数的命名有疑惑,其实类型参数的命名很简单,就是用26个字母中的字母来命名就行了,不过在具体命名上有一些“潜规则”,说的比较多的是用T,T表示任意类型(type)。如果有多个类型参数,我们可以使用字母表中与T相邻的字母,例如S和U。如果一个泛型方法在一个泛型类中出现,应该为方法和类的类型参数使用不同的名字,以避免冲突。
对于集合类型,元素的类型参数通常使用E来表示。如果是Map,则用K表示键,V表示值。Java中的集合对于元素类型使用的是E,代表Element,我们可以遵照这种习惯,当编写容器类时,使用E来命名类型参数。
但这些都不是绝对的,你就算用A、B、C来命名类型参数也没有问题,只不过对于上述情况,采用“潜规则”,其他人的理解会更好一些。不过对于其他场景下, 例如我定义泛型元组类Tuple,可以直接用A、B、C,例如:
class TowTuple{}