首先得承认这篇文章有点标题党的味道,哈哈,到java6为止,java是不支持函数式编程的。前几天在使用apache commons collections的时候偶然发现CollectionUtils.exist方法,该方法用于判断集合中是否存在满足某个条件的元素,具体使用如下:
@Test
public void test_functional_programming(){
String[] langs = {"java", "python", "c"};
assertTrue(
CollectionUtils.exists(Arrays.asList(langs), new Predicate() {
public boolean evaluate(Object object) {
return "java".equals((String)object);
}
})
);
}
exists的第一个参数为接口Collection,第二个参数为接口Predicate,用来表示判断是否存在的条件,上例在调用的时候新建了一个匿名类。也正是匿名类的存在让整个代码显得繁琐不直观,说真的还不如自己动手写一个exists方法:
private boolean existsJava(Collection<String> langs){
for (String lang : langs){
if ("java".equals(lang)) return true;
}
return false;
}
今年oracle在openjdk项目发布了
java lambda的草案,如果将来commons collections也推出一个lambda版本,那么对exists的调用会变成:
CollectionUtils.exists(Arrays.asList(langs), #(String lang)("java".equals(lang)))
尽管还不算完美,但至少比目前的exists方法调用简洁多了。CollectionUtils里面还存在collect, find, filter, select等函数式编程常用的方法,有兴趣的朋友可以看看。
分享到:
相关推荐
Java函数式编程是一种编程范式,它强调使用函数作为程序的基本构建块,将计算视为函数的组合,并且尽可能避免改变状态和可变数据。在Java 8及更高版本中,函数式编程得到了官方的大力支持,引入了Lambda表达式、...
Java函数式编程是一种将函数作为一等公民的编程范式,它强调使用函数来构造程序,减少副作用,提高代码的可读性和可维护性。在Java 8及更高版本中,函数式编程得到了显著增强,引入了Lambda表达式、函数接口、Stream...
Java函数式编程是一种高效、简洁的编程范式,它在Java 8中得到了全面支持,大大改变了Java开发人员编写代码的方式。本套黑马程序员的Java函数式编程视频教程涵盖了Lambda表达式、Stream流以及函数式编程的核心概念,...
Java函数式编程是一种编程范式,它将计算视为数据处理,并强调程序的数据流和变换,而不是对指令进行控制。在Java 8及更高版本中,函数式编程得到了强大的支持,引入了Lambda表达式、Stream API以及函数式接口等概念...
Java 8函数式编程
Java8 函数式编程百度网盘共享,Java8 函数式编程百度网盘,Java8 百度网盘,Java8 函数式编程 PDF 开源资源, Java8 Lambdas 表达式百度网盘,Java8 Lambdas 百度网盘, 象征性的给一分意思意思
Java函数式编程是指利用函数式编程的思想和特性来开发Java应用程序。函数式编程强调将计算过程视为数学函数的求值,侧重于函数的组合、映射、过滤等操作,同时避免了可变状态和可变数据。 在Java中,函数式编程主要...
### 深入理解Java函数式编程和Streams API #### 一、引言 随着Java 8的发布,函数式编程范式正式被引入到Java语言中,这标志着Java编程方式的重大转变。Java 8引入了Lambda表达式、方法引用等新特性,使得Java能够...
Java函数式编程是一种编程范式,它将计算视为函数的评估,强调数据的无副作用处理和函数的纯粹性。在Java 8及更高版本中,函数式编程得到了大力支持,引入了Lambda表达式、函数接口和Stream API等核心特性,极大地...
Java函数式编程是一种编程范式,它强调使用函数作为一等公民,允许将函数作为参数传递,也可以作为返回值。这种编程风格在处理大量数据时特别有用,因为它提供了简洁、可读性强的代码,同时也提高了代码的并行执行...
Java函数式编程是一种高效、简洁的编程风格,它在Java 8中得到了广泛支持。函数式编程的核心思想是将计算视为函数的组合,避免副作用,提高代码的可读性和可测试性。在Java中,我们可以利用Lambda表达式、高阶函数、...
Java 8 函数式编程 Java 8 函数式编程是指在 Java 8 中引入的一种新的编程范式,它强加了额外的约束,即所有数据必须是不可变的,设置一次,永不改变。函数式编程将值传递给函数,该函数然后生成新值但从不修改...
Java 函数式编程 Lambda表达式
读书笔记:Java 函数式编程
读书笔记:java函数式编程
读书笔记:java 函数式编程学习
读书笔记:java函数式编程简介
读书笔记:java函数式编程实践
Java设计模式之命令模式/Java函数式编程 笔记
JAVA 函数式编程详解 JAVA 函数式编程是一种编程范式,它强调使用纯函数、不可变数据和递归函数来编写程序。JAVA 8 中引入了函数式编程的概念,提供了函数式接口、Lambda 表达式和方法引用等特性。 函数式接口是 ...