java泛型通配符
来源:互联网 发布:淘宝买毒品暗语 编辑:程序博客网 时间:2024/05/18 01:23
public class Box<T> { private T data; public void setData(T data) { this.data=data; } public T getData() { return data; }}public class Test { public static void main(String[] args) { Box<Integer> box_integer = new Box<>(); box_integer.setData(5); Box<BigDecimal> box_bigDecimal = new Box<>(); box_bigDecimal.setData(new BigDecimal(5)); Box<? extends Number> box=box_integer; box=box_bigDecimal; // box.setData(6); //error // box.setData(new BigDecimal(6));//error Number number=box.getData(); }}
? extends Number表示可接收的实参类型为Number和Number的子类,有上界例如:Box<? extends Number>可接收Box<Integer>和Box<BigDecimal>,具体哪个子类未知,所以不能调用set方法给泛型变量赋值
public class Test { public static void main(String[] args) { Box<Number> box_number = new Box<>(); box_number.setData(5); Box<Object> box_Object = new Box<>(); box_Object.setData(new Object()); Box<? super Integer> box=box_number; box=box_Object; box.setData(6); box.setData(new Object());//error }}
? super Number表示可接收的实参类型为Number和Number的父类,有下界例如:Box<? super Integer>可接收Box<Number>和Box<Object>,具体哪个父类未知,所以可以调用set方法给泛型变量赋值,实参只能是Integer和Integer的子类,不能调用get方法(除非用Object接收)
阅读全文
0 0
- java泛型通配符
- java泛型通配符
- java泛型通配符
- Java泛型通配符
- Java泛型通配符
- Java泛型通配符
- java泛型通配符
- java泛型通配符
- Java 泛型类型通配符
- Java 通配符泛型例子
- Java 泛型通配符?解惑
- JAVA泛型和通配符
- Java泛型之通配符
- Java泛型中的通配符
- Java 泛型通配符?解惑
- Java 泛型通配符?解惑
- Java泛型通配符解惑
- Java 泛型通配符?解惑
- 分布式与集群的区别
- MAudioPlugins for Mac(音频特效插件包)附注册机及破解教程 v11.09破解版
- 《大话处理器》笔记摘抄及一点延伸
- 玩玩String的字符串拼接底层原理
- javascript动画之焦点图
- java泛型通配符
- Android:读取assets目录下文件(一)
- PAT 1006. 换个格式输出整数 (15)
- Oracle如何调试package、procedures、Function?
- ClickHouse中文社区成立了,Clickhouse中国第一次线下Meetup于2018年1月27在北京举行
- mybatis 新增返回自增的id值
- LNMP 安装 thinkcmf提示404not found
- 数值
- AngularJS无作用域控制器