Java 中的 T,E,K,V, 别傻傻分不清楚!
发布时间:2019-09-17 14:42:36 所属栏目:建站 来源:glmapper
导读:副标题#e# 前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 泛型带来的好处 在没有泛型的情况
当调用 countLegs1 时,就会飘红,提示的错误信息如下: ![]() 所以,对于不确定或者不关心实际要操作的类型,可以使用无限制通配符(尖括号里一个问号,即 ),表示可以持有任何类型。像 countLegs 方法中,限定了上届,但是不关心具体类型是什么,所以对于传入的 Animal 的所有子类都可以支持,并且不会报错。而 countLegs1 就不行。 上界通配符 < ? extends E> 上届:用 extends 关键字声明,表示参数化的类型可能是所指定的类型,或者是此类型的子类。 在类型参数中使用 extends 表示这个泛型中的参数必须是 E 或者 E 的子类,这样有两个好处:
类型参数列表中如果有多个类型参数上限,用逗号分开 下界通配符 < ? super E> 下界: 用 super 进行声明,表示参数化的类型可能是所指定的类型,或者是此类型的父类型,直至 Object (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |