java泛型中,通配符?表示未知类型,等同于<? extends Object>,<? extends T>是上边界限定通配符,<? super T>是下边界限定通配符。 一、区别 在一个list中,上下界通配符能够存放和读取的对象类型如下图所示: 二、原则 上下界通配符的使用应当遵循PECS原则: ...
分类:
编程语言 时间:
2018-05-03 19:23:15
阅读次数:
310
http://www.cnblogs.com/softidea/p/4106659.html ...
分类:
编程语言 时间:
2017-10-11 12:50:00
阅读次数:
113
具体可以参考:《Effective Java》PECS 原则 (producser-extends, consumer-super)G[+A]类似一个生产者,提供数据。(大部分情况下称G为容器类型)G[-A] 是一个消费者,主要用来消费数据。(如上的 Equiv[-A] (其实就是个A => Boo...
分类:
其他好文 时间:
2015-10-24 23:14:05
阅读次数:
242
//PECS:producer-extends-comsumer-super
import com.google.common.collect.Lists;
import java.util.Arrays;
import java.util.List;
/**
* Created by jianjun.yu on 15-4-21.
*/
public class GTest {
...
分类:
编程语言 时间:
2015-04-28 22:56:47
阅读次数:
307
今天在写代码的时候使用到了这样一个方法签名:publicvoidfoo(Map<String,String>map);在写这个参数的时候正好在想一些关于泛型的东西,于是:publicvoidfoo(Map<?extendsString,?extendsString>map);这两种写法有什么区别呢?记得以前和同学讨论过这个问题,但后来..
分类:
编程语言 时间:
2015-03-01 01:37:43
阅读次数:
3453