考试网 >> IT认证 >> JAVA >> JAVA指导 >> 关于Java 语言中的函数编程

关于Java 语言中的函数编程

发布时间:2006-06-28 11:10     点击:
分页:上一页  1 2 3 4 5 6 [7] 8 9 10  下一页  后10页

  SETLItem item1 = new SETLItem();

  item1.setPrice(100);

  SETLItem item2 = new SETLItem();

  item2.setPrice(99);

  if (bp.test(item1, item2))

  System.out.println("Item1 costs more than Item2!");

  else

  System.out.println("Item2 costs more than Item1!");

  

  SETLItem item3 = new SETLItem();

  item3.setPrice(101);

  if (bp.test(item1, item3))

  System.out.println("Item1 costs more than Item3!");

  else

  System.out.println("Item3 costs more than Item1!");

  }

  catch (Exception e)

  {

  e.printStackTrace();

  }

  }

  }

  

BinaryPredicate 接口以由 Apache Functor 库提供的 IsGreaterThanOrEqual 类的形式特化。 PriceComparator 类实现了 java.util.Comparator 接口,并被作为输入传递给 IsGreaterThanOrEqual 类。收到一个 test 消息时, IsGreaterThanOrEqual 类自动调用 PriceComparator 类的 compare 方法。 compare 方法预期接收两个 SETLItem 对象,相应地它返回两个商品的价格差。 compare 方法返回的正值表明 item1 的成本不低于 item2 。

  

  初看之下,对一个相当基本的操作要做很多的工作,那它有什么好处呢?特化 BinaryPredicate 接口(而不是编写 Java 比较表达式) 使您无论在何时何地都可以比较任意两个商品的价格。可以将 bp 对象作为数据传递并向它发送消息,以在任何时候、使用这两个参数的任何值来执行它(称为 test )。

  
分页:上一页  1 2 3 4 5 6 [7] 8 9 10  下一页  后10页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有