T extends Comparable<? super T> 中问号? 是固定的吗?
是固定的,代表T或T的父类。
Java定义泛型的初衷是为了保证在运行时出现的错误能提早放到编译时检查,有了这个理解,再看<? extends T>和<? super T>。
<? super T>叫做向下造型,在这里代表Comparable接口中的泛型元素都是T或者T的父类,在传入参数时可以传入T或者T的子类。
<? extends T>叫做向上造型,以ArrayList<? extends T>为例,代表这个list集合中所有元素都是T的子类,在取出时可以自动转换为T类型。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。