函数式编程
来源:互联网 发布:java入门到精通4 pdf 编辑:程序博客网 时间:2024/06/05 03:39
使用Function接口
函数式编程强调使用函数,以实现其目标与不断变化的状态。这与大多数开发者熟悉的改变状态的编程方式形成对比。Function接口让我们在java代码当中引入函数式编程成为可能。
Function接口当中只有2个方法:
public interface Function<F,T> { T apply(F input); boolean equals(Object object);}
我们不会具体的使用equals方法来判断A对象与B对象是否相等,只会调用apply方法来比较A对象与B对象是否相等。apply方法接受一个参数并且返回一个对象。一个好的功能实现应该没有副作用,这意味着当一个对象传入到apply方法当中后应该是保持不变的。下面是一个接受Date对象并且返回Date格式化后字符串的例子:
public class DateFormatFunction implements Function<Date,String> { @Override public String apply(Date input) { SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy"); return dateFormat.format(input); }}
在这个例子当中,我们可以清楚看到Date对象正在通过SimpleDateFormat类转换成我们期望格式的字符串。虽然这个例子可能过于简单,但是它演示了Function接口的作用,转换一个对象并且隐藏了实现的细节。通过这个例子我们可以使用实现了Function接口的类,我们也可以使用匿名类来实现。看看下面的例子:
Function<Date,String> function = new Function<Date, String>() { @Override public String apply( Date input) { return new SimpleDateFormat("dd/mm/yyyy").format(input); }};
这2个例子没什么不同。一个是简单的实现了Function接口,另一个是匿名类。实现了Function接口的类的优点是,你可以使用依赖注入来传递一个函数接口到一个协作的类中,使得代码高内聚。
0 0
- 函数式编程
- 函数式编程
- 函数式编程
- 函数式编程
- 另类函数式编程
- 函数式编程(FP)
- 函数式编程
- 函数式编程
- 函数式编程
- 函数式编程!
- 函数式编程指南
- F# 函数式编程
- 什么是函数式编程
- 函数式编程扫盲
- 函数式编程初探
- 函数式编程
- 函数式编程初探
- 函数式编程初探
- 使用ThinkPHP框架快速搭建网站(通俗易懂)
- Java 实现导出excel表 POI
- 语义化标签
- 树-Path Sum II(指定和,求根到叶子的路径)
- leetcode笔记—生成最大的 数组Create Maximum Number
- 函数式编程
- java设计模式-组合模式
- Android Home按键的监听与屏蔽方式
- 提交表单用ajax判断登录正确并跳转页面的方法
- POJ 3268Silver Cow Party (迪杰斯特拉)
- 2016.5.25笔记
- C++作业6
- Python3 迭代器与生成器
- HDU 5444 Elven Postman