- 浏览: 118824 次
- 来自: ...
文章分类
最新评论
J2SE 5.0 Generic应用一:类型安全的functor
一、简介函数式编程是非常常用和非常重要的一种编程范式,有的语言直接提供支持,C++则通过()运算符重载和模板提供了还算灵活的支持,而Java中的函数式编程则由于语言本身的局限没有得到广泛应用,Apache Commons Functor 项目是一个正在开发中的函数式编程库,但目前看来并不是类型安全的;J2SE 5.0提供了有限的generic能力,除了用于Collection之外,类型安全的functor也是其用武之地,已有一个开源项目Generic Algorithms for Java开始了这方面的工作 二、示例
public interface UnaryFunction<R, P> { public interface UnaryPredicate<T> { public interface UnaryProcedure<T> {
public interface BinaryFunction<R, T, S> { public interface BinaryPredicate<T, S> { public interface BinaryProcedure<T, S> {
public interface Filter<T> extends UnaryFunction<T, T>{
public static <Destination, Source> List<Destination> transform(Collection<Source> source, UnaryFunction<Destination, Source> transformer){
public class And<T> implements UnaryPredicate<T>, Serializable{ public class Or<T> implements UnaryPredicate<T>, Serializable{ public class Not<T> implements UnaryPredicate<T>, Serializable{ 三、问题1,interface vs. functor functor在Java里就是一个“只包含一个method的接口”,在使用接口的大部分地方都可以使用functor,优点是低侵入性(不需要实现接口),缺点是无法访问类的私有信息;鉴于目前Generic的实现,涉及到Java动态特性(序列化/反序列化,反射等)的模块,优先使用interface,其它场合可酌情使用泛化的functor 2,function vs. functor 只在内部使用的,做成function,在多处使用的,做成functor 3,classic vs. modern 传统分支控制语句if,else,switch在面向对象的程序中,可使用“子类化”大面积的消除 传统循环控制语句for,do while也该使用“algorithm + functor”大面积消除了
|
J2SE 5.0 Generic应用二:类型安全的多返回值
一、简介out参数和ref参数提供了同一个函数返回多个值的途径,C++和C#分别用引用和out、ref关键字支持,Java中一般用数组或集合解决这个问题;Generic提供了另外一种途径,但并不比数组来得方便实用,所以这里仅仅是为了泛型而泛型,没有实际价值;另外pair<F, S>等技术也常被使用,其实就是map.entry 二、示例
public class Out<T> {
public class Ref<T> {
public class Pair<First, Second> {
|
发表评论
-
The Object Primer
2004-12-11 11:21 5921,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 760错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 594前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 618前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 46814.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 643同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 612有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 627设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 677关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 713交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 614整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 807一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 749事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 847经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 741BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6831, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 726读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 756十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 711Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 672Event BusinessWare是一个事件驱动的系统 ...
相关推荐
J2SE5.0_CN.chm API中文手册
综上所述,J2SE 5.0 API 中文版文档是学习和开发Java应用的重要参考资料,特别是对于了解和掌握新特性的开发者来说,其索引功能使得查找和理解API变得更加高效。通过深入学习这些特性,开发者可以写出更高效、更安全...
Java API官方文档中文版CHM版(J2SE5.0)是Java开发的重要参考资料,它详尽地阐述了Java 2 Standard Edition 5.0(通常称为Java 5.0)中的各种类库和接口。这个CHM(Compiled HTML Help)文件是一个经过编译的HTML...
标题:“J2SE 5.0新特性精解” 描述:“对J2SE 5.0中的一些新特性进行了精辟的讲解。” J2SE 5.0是Java Standard Edition的一个重大更新,它引入了一系列的新特性和改进,旨在提高开发效率、提升性能以及增强平台...
J2SE5.0 API.chm,这个是英文的,等会再上传中文的,两个加在一起太大了 只好分开传了。。。
通过提供更高级别的抽象和更精细的控制选项,J2SE 5.0使得开发人员能够更容易地实现复杂的网络功能,如多线程网络服务器或高性能的客户端应用程序。 ### Beyond J2SE 5.0 尽管J2SE 5.0已经是一个巨大的飞跃,但...
很好的j2se的API
j2se5.0中文版api第2部分,因为上传权限有限,给大家带来不便,请见谅
为了更好地理解 J2SE 5.0 中的重要语言特性,本文将详细解析这些特性,并探讨它们的实际应用场景。 #### 1.2 准备工作 在深入探讨 J2SE 5.0 的新特性之前,需要确保已经安装了新版 JDK。可以通过访问 [Sun 官方...
Java 2平台,标准版(J2SE)是Java编程语言的核心版本,它为开发桌面应用、服务器端软件和网络应用程序提供了基础。J2SE 5.0是这个平台的一个重要里程碑,它引入了许多关键的新特性,提升了Java的效率、可读性和可...
总结起来,"upload.jar for J2SE 5.0" 是一个针对J2SE 5.0的文件上传类库,它提供了处理HTTP文件上传的工具,使得开发者能够轻松地集成文件上传功能到Java Web应用程序中。这个库的使用可以大大简化开发流程,提高...
对于java开发人员来说 没有一个帮助文档是很郁闷的 尤其对于自学的朋友们,今天得到一个中文版的J2SE5.0的API,不敢独自享用,共享出来给大家,分为2个部分part01和part02
J2SE(Java 2 Standard Edition)5.0是Java平台的一个重要版本,它在2004年发布,引入了许多新的特性和改进,对Java开发者来说具有里程碑式的意义。 Java API文档是开发者的必备工具,它详尽地记录了Java类库的所有...
虽然在J2SE 5.0中主要应用于方法和类型,但注解也可应用于局部变量和表达式,为代码添加元数据。 10. **变量 finalize() 方法的改进** 对象的finalize()方法现在可以被覆盖,以在对象被垃圾收集之前执行清理操作...
提示:本人已将一次性可完整下载版上传,名称为:J2SE 5.0 API (中文版)方便网友下载! 很好用的J2SE 5.0 API,具有索引的功能!!! 下载前请注意:不过由于本人等级太低所以只能分3部分上传,劳烦您下载全部3部分...
提示:本人已将一次性可完整下载版上传,名称为:J2SE 5.0 API (中文版)方便网友下载! 很好用的J2SE 5.0 API,具有索引的功能!!! 下载前请注意:不过由于本人等级太低所以只能分3部分上传,劳烦您下载全部3部分...
提示:本人已将一次性可完整下载版上传,名称为:J2SE 5.0 API (中文版)方便网友下载! 很好用的J2SE 5.0 API,具有索引的功能!!! 下载前请注意:不过由于本人等级太低所以只能分3部分上传,劳烦您下载全部3部分...
真正的j2se api 5.0 中文版帮助,有需要的可以下载.
使用如JCreater这类的java简易编程软件,可以利用html格式的api帮助文档实现自动提示功能,不会再产生拼写错误问题! 用法(以JCreater):安装完成后,在提示信息中填入html格式api所在的目录即可。