Java 8引入了全新的Stream API。这里的Stream和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同。 Stream API引入的目的在于弥补Java函数式编程的缺陷。对于很多支持函数式编程的语言,map()、...
分类:
编程语言 时间:
2014-12-09 15:59:18
阅读次数:
239
Apache Commons IO是Apache基金会创建并维护的Java函数库。它提供了许多类使得开发者的常见任务变得简单,同时减少重复(boiler-plate)代码,这些代码可能遍布于每个独立的项目中,你却不得不重复的编写。这些类...
分类:
其他好文 时间:
2014-11-13 11:04:26
阅读次数:
215
http://blog.csdn.net/cxwen78/article/details/7322891主要从Java函数的定义,函数的特点,函数的应用,函数的重载四个方面来讲解Java函数。一、函数的定义 函数就是定义在类中的具有特定功能的一段独立程序,也称为方法。 注意:函数是定义在类中,而不....
分类:
编程语言 时间:
2014-11-08 11:48:16
阅读次数:
226
要想更好的使用函数式编程,仅仅熟悉其语法结构是远远不够的。必须从思想和设计层面,去考虑它,去接纳它。这种编程范式和大多数开发人员所熟知的面向对象编程范式是不同的。
下面我们从以下几个方面来回顾一下使用函数式编程的要点:
多用声明式,少用命令式
要想更好的使用函数式编程,首先必须要提升代码的抽象程度。之所以使用函数式编程在完成同样任务时需要的代码量比命令式要少,很大程度上就是源于函...
分类:
编程语言 时间:
2014-11-07 11:23:44
阅读次数:
193
Java 8中同时存在面向对象编程(OOP)和函数式编程(FP, Functional Programming)这两种编程范式。实际上,这两种范式并不矛盾,只是着重点不同。在OOP中,着重于通过丰富的类型系统对需要解决的问题进行建模;而FP中则着重于通过高阶函数和Lambda表达式来完成计算。所以我们完全可以将这两者融合在一起,对问题提出更加优雅的解决方案。
在这篇文章中,会介绍如何通过函数...
分类:
编程语言 时间:
2014-11-06 10:58:09
阅读次数:
401
使用Lambda表达式进行设计
在前面的几篇文章中,我们已经见识到了Lambda表达式是如何让代码变的更加紧凑和简洁的。
这一篇文章主要会介绍Lambda表达式如何改变程序的设计,如何让程序变的更加轻量级和简洁。如何让接口的使用变得更加流畅和直观。
使用Lambda表达式来实现策略模式
假设现在有一个Asset类型是这样的:
public class Asset {
...
分类:
编程语言 时间:
2014-10-25 07:03:55
阅读次数:
350
列举目录中的所有文件
首先给出代码:
Files.list(Paths.get(".")).forEach(System.out::println);
Files.list方法得到的是一个Stream类型的对象,它代表了目标路径下所有的文件。如果只想获取目标路径下的所有目录文件:
Files.list(Paths.get("."))
.filter(Files...
分类:
编程语言 时间:
2014-10-24 11:00:57
阅读次数:
163
Lambda在集合中的使用
列表的遍历
提起对于集合的遍历,恐怕下面的这种方式已经是一种思维定式了吧:
final ListString> friends = Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott");
for(int i = 0; i friends.size(); i++) {
...
分类:
编程语言 时间:
2014-10-21 10:24:46
阅读次数:
405
思维方式的转变
以从一个城市集合中寻找是否存在Chicago为例:
习惯的方式
boolean found = false;
for(String city : cities) {
if(city.equals("Chicago")) {
found = true;
break;
}
}
System.out.println("Fo...
分类:
编程语言 时间:
2014-10-17 15:39:38
阅读次数:
252
Cydia Substrate是一个代码修改平台。它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的。而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具。官网地址:http://ww...
分类:
移动开发 时间:
2014-10-10 00:22:23
阅读次数:
414