Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14490745
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:37:21

下载本文示例代码
 ?font color="#FF0033">交互操作性(Interoperability)   在本课程中,你将学习两个方面的交互操作性:   兼容性   本课程将向你演示如何使对象集与先于对象集添加到Java平台上的旧的API一起工作。   API 设计   教给你如何设计一个新的 API,使它们之间可无缝交互操作。   兼容性   设计Collection Framework 是为了保证在新的 对象集 接口 和传统的被用来表示 对象集 的类型之间的完全的交互操作性: Vector, Hashtable, array, 和Enumeration。在本节中,你将学习如何将传统的 对象集 转换为新的对象集以及相反的过程。   向上兼容性   假设你要使用一个将返回传统 对象集 的 API,同时还要使用另一个API,这个API要求对象实现JDK1.2的对象集接口。为使这两个API可以平滑地交互操作,你必须将传统的 对象集 转化为新的 对象集。幸运的是,Collection Framework 使这个工作变得十分简单。   假设旧的API 返回一个对象数组,而新的API需要一个 Collection。正象在 实现课程中所讨论的,对象集 架构 具有一个便利实现,它允许一个对象数组被当作一个 List。使用Arrays.asList, 一个数组可被传递给需要一个 Collection 或一个 List 的任意方法。 Foo[] result = oldMethod(arg); newMethod(Arrays.asList(result));   如果旧的API 返回一个 Vector 或 Hashtable, 你就一点工作都不需要做了,因为 Vector 已被改造为实现了 List 接口,而 Hashtable 也被改造为实现了 Map。 于是,一个 Vector 可被直接传递给需要一个 Collection 或一个 List 的任意方法。 Vector result = oldMethod(arg); newMethod(result);   类似的,一个 Hashtable 可被直接传递给需要一个 Map 的任意方法。 Hashtable result = oldMethod(arg); newMethod(result);   比较少见的是,一个API 返回一个 Enumeration ,它代表了一个对象的 对象集。虽然没有对将 Enumeration 转换为Collection 的直接支持,但要创建包含由Enumeration 返回的所有元素的 Collection ,也是一个简单的事情: Enumeration e = oldMethod(arg); List l = new ArrayList(); while (e sMoreElements()) l.add(e.nextElement()); newMethod(l); 共3页。 1 2 3 8 :  ?font color="#FF0033">交互操作性(Interoperability)   在本课程中,你将学习两个方面的交互操作性:   兼容性   本课程将向你演示如何使对象集与先于对象集添加到Java平台上的旧的API一起工作。   API 设计   教给你如何设计一个新的 API,使它们之间可无缝交互操作。   兼容性   设计Collection Framework 是为了保证在新的 对象集 接口 和传统的被用来表示 对象集 的类型之间的完全的交互操作性: Vector, Hashtable, array, 和Enumeration。在本节中,你将学习如何将传统的 对象集 转换为新的对象集以及相反的过程。   向上兼容性   假设你要使用一个将返回传统 对象集 的 API,同时还要使用另一个API,这个API要求对象实现JDK1.2的对象集接口。为使这两个API可以平滑地交互操作,你必须将传统的 对象集 转化为新的 对象集。幸运的是,Collection Framework 使这个工作变得十分简单。   假设旧的API 返回一个对象数组,而新的API需要一个 Collection。正象在 实现课程中所讨论的,对象集 架构 具有一个便利实现,它允许一个对象数组被当作一个 List。使用Arrays.asList, 一个数组可被传递给需要一个 Collection 或一个 List 的任意方法。 Foo[] result = oldMethod(arg); newMethod(Arrays.asList(result));   如果旧的API 返回一个 Vector 或 Hashtable, 你就一点工作都不需要做了,因为 Vector 已被改造为实现了 List 接口,而 Hashtable 也被改造为实现了 Map。 于是,一个 Vector 可被直接传递给需要一个 Collection 或一个 List 的任意方法。 Vector result = oldMethod(arg); newMethod(result);   类似的,一个 Hashtable 可被直接传递给需要一个 Map 的任意方法。 Hashtable result = oldMethod(arg); newMethod(result);   比较少见的是,一个API 返回一个 Enumeration ,它代表了一个对象的 对象集。虽然没有对将 Enumeration 转换为Collection 的直接支持,但要创建包含由Enumeration 返回的所有元素的 Collection ,也是一个简单的事情: Enumeration e = oldMethod(arg); List l = new ArrayList(); while (e sMoreElements()) l.add(e.nextElement()); newMethod(l); 共3页。 1 2 3 8 : 下载本文示例代码


java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性java api之交互操作性
阅读(118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~