public class Generic {
public static void main(String[] args) {
List<Person> persons = new ArrayList<Person>();
// 1 泛型类型的方法可操作其定义的类型的对象或子对象
persons.add(new Person());
persons.add(new Man());
// 2 G<Man>并不是G<Person>的子类型
// List<Person> persons = new ArrayList<Man>(); X
// 3 通配符?代表未知类型
List<?> list = new ArrayList<Person>();
// 3.1 <?> != <Object>
// List<Object> objs = new ArrayList<Person>(); X
// 3.2 List<?>无法调用add方法添加对象,除了添加null,null是所有类型的子类型
// list.add(new Person()); X
list.add(null);
// 4 有界通配符
List<? extends Person> men = new ArrayList<Man>();
// 4.1 仍然无法使用add方法,除了null
// men.add(new Person()); X
// men.add(new Man()); X
men.add(null);
List<? super Man> men1 = new ArrayList<Person>();
List<? super Man> men2 = new ArrayList<Man>();
men1.add(new Man());
men1.add(new Man());
// men1.add(new Person()); X
men2.add(new Man());
}
}
class Person {
}
class Man extends Person {
}
分享到:
相关推荐
Java泛型编程指南.pdf 此文章译自SUN的泛型编程指南
Java Generics and Collections 英文版,详细描述java 泛型技术
这是一个使用JAVA实现的泛型编程,分为两部分,第一部分创建泛型类,并实例化泛型对象,得出相加结果。 第二部分用户自行输入0--4,选择要进行的加减乘除运算或退出,再输入要进行运算的两个数,并返回运算结果及...
java 泛型接口示例 java 泛型接口示例 java 泛型接口示例
java 泛型类的类型识别示例 java 泛型类的类型识别示例 java 泛型类的类型识别示例
java 泛型方法使用示例 java 泛型方法使用示例 java 泛型方法使用示例
1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1.java泛型定义.zip1....
4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip4.java泛型的限制.zip...
java泛型技术之发展,学习JAVA 泛型的不错东东
主要介绍了Java泛型的用法及T.class的获取过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
深入理解java泛型,包括类名泛型的定义,方法泛型定义,泛型的返回
java,学习java泛型,java培训之泛型.pptxjava培训之泛型.pptxjava培训之泛型.pptxjava培训之泛型.pptx
很好的Java泛型的总结,看完之后你一定会知道java泛型的底层机制,你一定会学会Java泛型!
java泛型详解.pdf
思维导图之Java泛型详解
Java泛型使用详细分析.pdf
实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门实例讲解Java泛型编程的快速入门
JAVA泛型源代码实现以下功能:返回数组元素的最大值/最小值下标;判断数组元素是否按升序排列;T对象数组排序;二分法查找key元素;
Java泛型技术之发展