java函数式编程好处_Java8的函数式编程怎么样?

Java8之前,如果开发者想以函数式风格编程,他或她只能使用嵌套类型(通常是匿名内部类)作为函数代码的替代。默认的Collection类库不会为这些代码提供任何方便,可变性的魔咒也始终存在。

Java8的Lambda表达式没有神奇地转变成函数式语言。相反,它的作用仍是创建强制的强命名类型语言,但有更好的语法支持Lambda表达式函数文本。与此同时,Collection类库也得到了增强,允许Java开发人员开始采用简单的函数式风格(例如filter和map)简化笨重的代码。

1、Java引入了函数式编程,这表示Java从此不在是一个单纯的面向对象语言,现在他同时混合了函数式编程。这是巨大的改变,需要我们调整面对对象的编程习惯,以适应这些变化。

2、JAVA8中为函数式编程引入的变化函数式接口,函数式接口中只能有一个抽象方法@FunctionInterface,这也是为了函数调用时避免带来二义性。@FunctionInterface并不是一定要标注但若是标注可以在编译时就给你提示错误。

静态方法,静态方法目的完全出于编写类库,对某些行为进行抽象,但是接口中的静态方法不能被继承。

默认实现,是不得已而为之,因为Java8引入了函数式接口,许多像Collection这样的基础接口中增加了方法,如果还是一个传统的抽象方法的话,那么可能很多第三方类库就会变得完全无法使用。新增一个方法所有实现类都要实现一次。被default修饰的方法–默认实现

3、使用函数式代码的好处:

减少了可变量(Immutable Variable)的声明

能够更好的利用并行(Parallelism)

代码更加简洁和可读

函数式接口函数式接口就是仅声明了一个方法的接口,比如我们熟悉的Runnable,Callable,Comparable等都可以作为函数式接口。当然,在Java 8中,新添加了一类函数式接口,如Function,Predicate,Consumer,Supplier等。

已被146人点赞

你可能感兴趣的:(java函数式编程好处)