Guava Function类简介
来源:互联网 发布:十二生肖 知乎 编辑:程序博客网 时间:2024/06/05 21:57
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接口的类的优点是,你可以使用依赖注入来传递一个函数接口到一个协作的类中,使得代码高内聚。
参考:使用Guava进行函数式编程
0 0
- Guava Function类简介
- [Guava源码日报]Guava类库简介
- guava Function
- Google Guava 类库简介
- Google Guava 类库简介
- Google Guava 类库简介
- Google Guava 类库简介
- Google Guava 类库简介
- Google Guava 类库简介
- Google Guava 类库简介
- Google Guava 类库简介
- Google Guava 类库简介
- Guava简介
- Guava简介
- Guava学习笔记:Google Guava 类库简介
- Guava学习笔记:Google Guava 类库简介
- Guava学习笔记:Google Guava 类库简介
- Guava学习笔记:Google Guava 类库简介
- iOS界面生命周期过程详解
- HDOJ-3949 XOR(高斯消元)
- 初识MySQL--基础
- 用Fluentd实现收集日志到HDFS(上)
- jQuery缓存数据——仿Map
- Guava Function类简介
- 九度oj 1176
- Python图形编程(PyQt)鼠标点击QLineEdit无反应问题解决
- Thinking in Java 笔记(第八章 对象的容纳)
- 通过GCD中的dispatch_barrier_(a)sync加强对sync中所谓等待的理解
- poj1743(后缀数组:最长不可重叠子串长度)
- C++栈的顺序存储和链式存储的实现
- 小说题目和章节题目还没想好
- AS400 Trigger