当前位置: 技术文章>> jdk8新特性-函数式编程和面向对象编程

文章标题:jdk8新特性-函数式编程和面向对象编程
  • 文章分类: 后端
  • 27431 阅读
  • 面向对象中一等公民是对象,干什么事情之前都需要先有对象。

  • 函数式编程思想的一等公民是函数,函数就是方法,最重要的就是方法的(形参列表)和方法体。

注意:

  • Java 是面向对象的编程语言,只是引入了函数式编程思想而已,Java 的基石还是面向对象,函数式编程只是 “语法糖”。

  • 函数式编程思想就是将函数当成数据、参数等来进行传递。

  • 示例:对数组中的字符串进行排序,要求排序过程中忽略字母的大小写

package com.github.
function;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Comparator;
/** * @author maxiaoke.com * @version 1.0 * @since 2023-02-03 16:28 */
public class FunctionTest {
    /**     * 使用匿名内部类的形式来实现     */
    @Test public void test() {
        String[] arr = {
            "hello",
            "world",
            "Abc",
            "java"
        };
        Arrays.sort(arr, new Comparator < >() {@Override public int compare(String o1, String o2) {
                return o1.compareToIgnoreCase(o2);
            }
        });
        System.out.println(Arrays.toString(arr)); // [Abc, hello, java, world]    }    /**     * 使用函数式编程的方式来实现     */    @Test    public void test2() {        String[] arr = {"hello", "world", "Abc", "java"};        Arrays.sort(arr, (o1, o2) -> o1.compareToIgnoreCase(o2));        System.out.println(Arrays.toString(arr)); // [Abc, hello, java, world]    }}
  • 如果我们学过 JavaScript 语言的话,就很好理解了,因为在 JavaScript 中函数是一等公民,并且 JavaScript 很早就支持了函数式编程。


推荐文章