那么泛型的好处就是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的。本质上T,E,K,V都是通配符,没啥区别,只不过是编码时的一种约定俗成的东西。比如上述代码中的 T ,我们可以换成 A-Z 之间的任何一个 字母都可以,并不会影响程序的正常运行。但是如果换成其他的字母代替 ...
你真的了解JAVA中的泛型E、T、K、V吗?
Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是本身就是一个安全隐患。
那么泛型的好处就是在编译的时候能够检查类型安全,并且所有的强制转换都是自动和隐式的。本质上T,E,K,V都是通配符,没啥区别,只不过是编码时的一种约定俗成的东西。比如上述代码中的 T ,我们可以换成 A-Z 之间的任何一个 字母都可以,并不会影响程序的正常运行。
但是如果换成其他的字母代替 T ,在可读性上可能会弱一些。通常情况下,T,E,K,V,?是这样约定的:?表示不确定的 java 类型。T (type) 表示具体的一个java类型。K V (key value) 分别代表java键值中的Key Value。E (element) 代表Element。
2019-09-26
E - Element (在集合中使用,因为集合中存放的是元素)
T - Type(Java 类)
K - Key(键)
V - Value(值)2019-09-29
这种应该是C语言的专用名词,想要深究最好看书。2019-10-01
这应该都是英文的缩写,比如说T应该代表的是类型。2019-09-28
以前自学过c语言可惜没有考过,对于java不太了解,帮不了你。抱歉。2019-09-29
这个没有去学过和研究过,所以不知道代表什么意思。2019-09-30
我其实是并不是特别了解扎瓦的,因为我不是学计算机专业的学生,我是学会计的。2019-10-02
我还真的不了解,吃瓜群众表示,每一个字母都认识,但到底什么意思不知道。2019-10-03