1 / 41
文档名称:

java泛型-课件(ppt讲稿).ppt

格式:ppt   页数:41页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java泛型-课件(ppt讲稿).ppt

上传人:2768573384 2016/3/22 文件大小:0 KB

下载得到文件列表

java泛型-课件(ppt讲稿).ppt

文档介绍

文档介绍:?掌握 Java SE 的泛型原理?泛型高级应用?使用泛型集合 API 操纵对象数据思考两个问题???在 Java SE 以前操作集合的缺点: ?从集合中取出对象,需要执行类型转换操作: ?由于没有类型检查,可以向集合添加任意对象,例如添加一个文件对象,但 get 方法取出的 File 对象转换为 String 会产生运行错误: ArrayList files = new ArrayList(); . . . String filename = (String) (0); (new File(". . .")); ?泛型提供了类型参数?只能将 String 类型对象存入集合,不能存储“大象”,“ File ”等?编译器可以发现如下错误?取出对象的类型为 String, 无需执行类型转换 ArrayList<String> files = new ArrayList<String>(); String filename = (0); (new File(". . .")); 精简代码精简代码错误! 错误! ? Pair 类具有两个成员,类型待定?使用 private T first 表示 first 的类型为参数 T public class Pair< T> { private T first; private T second; public Pair() { first = null; second = null; } public Pair( T first, T second) { = first; = second; } public T getFirst() { return first; } public T getSecond() { return second; } public void setFirst( T newValue) { first = newValue; } public void setSecond( T newValue) { second = newValue; } } ?编写一个泛型方法,能够对数组求最大值和最小值 class ArrayAlg { public static < T parable> Pair< T > minmax(T[ ] a) { if (a == null || == 0) { return null; } T min = a[0]; T max = a[0]; for (int i = 1; i < ; i++) { if (pareTo(a[i]) > 0) {min = a[i];} if (pareTo(a[i]) < 0) { max = a[i];} } return new Pair< T >(min, max); } } 大小大小?创建一个日历的数组,求出最大和最小的日期? Pair<GregorianCalendar> mm 使用 GregorianCalendar 为 Pair<T> 传递类型参数? 实现了接口 <T> GregorianCalendar[ ] birthdays = { new GregorianCalendar(1906, , 9), new GregorianCalendar(1815, , 10), new GregorianCalendar(1903, , 3), new GregorianCalendar(1910, , 22), }; Pair<GregorianCalendar> mm = (birthdays); ("min = " +