java范型通配符

原创 2016年08月30日 14:19:00
  1. 只看尖括号里边的!!明确点和范围两个概念
  2. 如果尖括号里的是一个类,那么尖括号里的就是一个点,比如List<A>
  3. 如果尖括号里面带有问号,那么代表一个范围,<? extends A> 代表小于等于A的范围,<? super A>代表大于等于A的范围,<?>代表全部范围
  4. 尖括号里的所有点之间互相赋值都是错,除非是俩相同的点
  5. 尖括号小范围赋值给大范围,对,大范围赋值给小范围,错。如果某点包含在某个范围里,那么可以赋值,否则,不能赋值
  6. List<?>List 是相等的,都代表最大范围
  7. 补充:List既是点也是范围,当表示范围时,表示最大范围
class A {}
class B extends A {}
class C extends A {}
class D extends B {}
Which four statements are true ?

//正确的
The type List<A>is assignable to List.
The type List<Object>is assignable to List<?>.
The type List<D>is assignable to List<?extends B>.
The type List<?extends B>is assignable to List<?extends A>.

//错误的
The type List<B>is assignable to List<A>.
The type List<?extends A>is assignable to List<A>.
The type List<Object>is assignable to any List reference.

相关文章推荐

java范型之--通配符

import java.util.ArrayList; import java.util.List; class A{ } class B extends A{ } class C ex...

理解范型中的通配符?

理解范型中的通配符'?' [java] view plaincopy class A {       public void fun() {           S...

Java自定义范型的应用技巧

我们在JAVA中 处处都用到了 范型 ,JAVA中的范型是从C++模板继承来的,不过  JAVA的 范型的功能 远远没有 C++那么强大 。 我们知道在C++中 模板可以很方便的代替任意类型的数据 ...

java范型的应用

前一段在壹平台面试的时候,有个人问道java范型的应用,我突然意识到,我一直用范型 ,用的最多时候就是集合 List userList = new ArrayList();这样的,具体的为什么要这样用...

java中List范型使用总结

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

java范型类型擦除

一. 概述 在上一篇范型博客中,主要讲解了范型的基本使用和设计,在本篇博客中主要讲解使用范型带来的问题和解决方法。 在使用java范型时,我们通常会遇到诸多问题,例如不能使用T.class,...

Java范型

1.java泛型及就是在jdk1.5之后出现的一个新的安全机制 我们发现在集合框架中我们可以放入任何的元素,然而这样做并没有任何意义,绝大多时候我们是默认我们 知道这个容器需要存放什么样的...

为什么Java不支持创建范型数组?

最近看到BlogJava上有人在讨论为什么Java范型不支持数组http://www.blogjava.net/myqiao/archive/2005/08/08/9580.html   我想这个问题...

Java 数组转型和范型

今天写代码遇到一个奇怪的问题,代码结构如下: [java] view plain copy  print? ArrayList list = new ArrayList();   S...

Java范型浅析

从jdk1.5开始,Java中开始支持范型了。范型是一个很有用的编程工具,给我们带来了极大的灵活性。在看了《java核心编程》之后,我小有收获,写出来与大家分享。         所谓范型,我的感觉...
  • tjpuzm
  • tjpuzm
  • 2013年03月19日 10:12
  • 269
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java范型通配符
举报原因:
原因补充:

(最多只允许输入30个字)