黑马程序员_日记52_泛型限定初级使用
2015-04-16 22:06
387 查看
——- android培训、java培训、期待与您交流! ———-
泛型的限定
本例主要演示:
1 泛型限定的由来
2 泛型限定的基本类型
? 通配符
泛型限定思路
1 为了提高代码的复用性
下面这个例子可以发现,
如果想要用迭代器取出元素,
就必须使用两个迭代器
代码的复用性不高。
–单独定义一个方法打印,使用通配符
编译没通过
编译通过了
泛型的限定
本例主要演示:
1 泛型限定的由来
2 泛型限定的基本类型
? 通配符
泛型限定思路
1 为了提高代码的复用性
下面这个例子可以发现,
如果想要用迭代器取出元素,
就必须使用两个迭代器
代码的复用性不高。
–单独定义一个方法打印,使用通配符
一、泛型没有限定
import java.util.*; class GenericDemo6 { public static void main(String[] args) { ArrayList<String> al = new ArrayList<String>(); al.add("abc1"); al.add("abc2"); al.add("abc3"); ArrayList<Integer> al1 = new ArrayList<Integer>(); al1.add(4); al1.add(7); al1.add(1); printColl(al); printColl1(al1); } public static void printColl(ArrayList<String> al)//ArrayList<String> al = new ArrayList<Integer>();这个是无法接受的,错误 { Iterator<String> it = al.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); } } public static void printColl1(ArrayList<Integer> al) { Iterator<Integer> it = al.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); } } }
编译没通过
二、泛型使用了通配符
import java.util.*; class GenericDemo6 { public static void main(String[] args) { ArrayList<String> al = new ArrayList<String>(); al.add("abc1"); al.add("abc2"); al.add("abc3"); ArrayList<Integer> al1 = new ArrayList<Integer>(); al1.add(4); al1.add(7); al1.add(1); printColl(al); printColl(al1); } public static void printColl(ArrayList<?> al) { Iterator<?> it = al.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); } } }
编译通过了
相关文章推荐
- 黑马程序员_日记54_TreeSet使用比较器和泛型的初级结合
- 黑马程序员_日记48_泛型基本使用
- (黑马程序员)泛型限定原理和使用(一)
- (黑马程序员)泛型的限定原理和使用(二)
- 黑马程序员_日记55_TreeSet、泛型限定和比较器限定方式的综合运用方式
- 黑马程序员--08.泛型--02.【泛型方法】【泛型接口】【泛型限定的基本使用】【个人总结】
- 黑马程序员_学习日记40_605基础加强(自定义泛型、装拆箱、foreach、文件操作、字符串与byte数组转换)
- 黑马程序员_Java基础_泛型的使用,通配符,泛型限界
- 黑马程序员_日记47_泛型概述
- 黑马程序员——学习日记之泛型和集合框架工具类
- 黑马程序员--Java基础加强--15.利用反射操作泛型IV【通过反射Method解析泛型方法思路】【通过Method对四种Type子接口类型进行解剖】【使用递归对任意复合泛型类型进行彻底解剖】【个人
- 如何在使用了泛型限定的集合中存入其它类型的元素?
- 黑马程序员——泛型限定
- 黑马程序员_学习日记66_716ASP.NET(使用回调函数的异步委托、生产者消费者)
- 黑马程序员_日记53_泛型应用在自定义类的对象上
- JAVA-泛型的使用以及泛型限定
- 黑马程序员-- 高级网络编程 什么是泛型?泛型的定义?泛型如何使用?为什么要使用泛型?
- 黑马程序员_学习日记7_C#基础归纳总结之泛型
- 黑马程序员_Java学习日记9_泛型
- 黑马程序员_学习日记20_ASP.Net初级