JDK8的新特性

1.lambda表达式

概念:

Lambda表达式:特殊的匿名内部类,语法更简洁。

Lambda表达式允许把函数作为一个方法的参数(函数作为方法参数传递),将代码像数据一样传输

语法:

基本语法
<函数式接口><变量名>=(参数1,参数2)->{
    //方法体;
}

 函数时接口:接口中只有一个抽象方法

(参数1,参数2):抽象方法的参数

->:分割符

{}:抽象方法的实现

package com.lzl.test02;

/**
 * @create 2022-07-19
 */
public class Test01 {
    public static void main(String[] args) {
        My task = new My();
        Thread t1 = new Thread(task);
        t1.start();

        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("这是匿名内部类方式的任务对象");
            }
        });
        t2.start();

        Thread t3 = new Thread(()->{
            System.out.println("这是使用Lambda表达式完成的");
        });
        t3.start();
    }
}
class My implements  Runnable{
    @Override
    public void run() {
        System.out.println("自定义任务接口类");
    }
}

无参无返回值

package com.lzl.test02;

/**
 * @create 2022-07-19
 */
public class Test02 {
    public static void main(String[] args) {
        Swimmable swimmable = new Swimmable() {
            @Override
            public void swimming() {
                System.out.println("这是使用内部匿名类的方式");
            }
        };
        fun(swimmable);

        Swimmable swimmable1 =()->{
            System.out.println("这是使用Lambda表达式");
        };
        fun(swimmable1);

        fun(()->{
            System.out.println("这是简易模式的Lambda表达式");
        });


    }
    public static void fun(Swimmable w){
        w.swimming();

    }
}
interface Swimmable{
    public void swimming();
}

有参有返回值

package com.lzl.test03;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * @create 2022-07-19
 */
public class Test01 {
    public static void main(String[] args) {
        List<Peoson> list =new ArrayList<>();
        list.add(new Peoson("张三",19));
        list.add(new Peoson("李四",18));
        list.add(new Peoson("王五",20));
        list.add(new Peoson("赵六",16));
        //对集合中的元素进行排序 传统做法 Comparator: 排序规则接口
        Comparator<Peoson> comparator =new Comparator<Peoson>() {
            @Override
            public int compare(P
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDK 8,也就是 Java Development Kit 8,有许多特性。以下是其中一些主要的特性: 1. **Lambda 表达式和函数式接口**:这是 JDK 8 中最重要的特性之一。Lambda 表达式允许开发者以更简洁的方式编写代码,通过使用匿名函数来实现。此外,JDK 8 还引入了函数式接口(如 `Supplier`, `Function`, `Consumer`, `BiFunction` 等),它们允许开发者创建更复杂的功能块。 2. **Stream API**:Java Stream API 是 JDK 8 中另一个重要的特性。它提供了一种对数据进行操作和处理的方式,这种处理方式更接近于其他编程语言的数据处理库。 3. **的集合类**:JDK 8 引入了一些的集合类,如 `NavigableSet`, `ConcurrentHashMap` 等,这些类提供了更高效的数据结构和性能。 4. **G1垃圾收集器**:JDK 8 中的 G1垃圾收集器是一个可预测的、并行化的垃圾收集器,提供了更好的性能和响应时间。 5. **日期和时间 API**:JDK 8 引入了一个的日期和时间 API,它提供了更简单、更一致的方式来处理日期和时间。 6. **模块系统**:Java 模块系统是 JDK 8 中的另一个特性,它允许开发者创建独立的、可移植的软件包。 7. **流处理框架**:JDK 8 中的流处理框架 Stream API 支持用户自定义的流处理操作符,这使得开发者可以创建更复杂的流处理程序。 8. **的异常处理机制**:JDK 8 中的异常处理机制允许开发者使用 lambda 表达式来声明和处理异常。 9. **改进的 JDBC API**:JDK 8 中的 JDBC API 提供了一个更简单、更直观的方式来访问数据库。 以上就是 JDK 8 中一些主要的特性,这些特性都为开发者提供了更高效、更简洁的开发体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值