当前位置: 首页 > news >正文

JDK1.8新增特性

新特性:

        Lambda表达式: (语法三要素:参数、箭头、代码)

               JDK1.8引入的一种新语法Lambda表达式,它简化了匿名内部类的使用和提高代码的可读性。

/**正常写法创建Runable**/
Runnable runnable = new Runnable() {@Overridepublic void run() {System.out.println("*************");}
};/**Lambda表达式写法*/
Runnable runnable = () -> System.out.println("*************");

       接口提供默认方法和静态方法:

public interface UserService {/*** 默认方法*/default void add(){System.out.println("add");};/*** 静态方法* @param id* @return*/public static User getUser(String id){return new User();};
}

        Stream API :

               JDK1.8引入的一种新抽象流,提供一种新的处理数据方式,对集合或数据元素进行函数式编程数据处理;所有 Collection 集合都可以通过 stream 默认方法获取流。

  List<String> list = Arrays.asList("ASDSFSDSF","NBDS","WKEKRERE","BC8D");//通过stream流过滤列表中长度等4的字符串列表List<String> newList = list.stream().filter(pre->pre.length()==4).collect(Collectors.toList());//通过stream流把列表内容转换小写并返回一个新的列表List<String> toLowerCaseList = list.stream().map(String::toLowerCase).collect(Collectors.toList());//获取集合长度long count = list.stream().count();//获取集合第1个元素Optional<String> first = list.stream().findFirst();

        函数试接口 :

            1、自定义函数试接口 

@FunctionalInterface
public interface MyFunctionalInterface {int add(int a,int b);
}
//调用
MyFunctionalInterface myFunctionalInterface = (a,b)-> a+b;
int a = myFunctionalInterface.add(5,2);
System.out.println(a);

              2、Predicate<T>:判断型接口输入一个参数T,返回一个布尔值

 Predicate<String> isEmpty = p -> p.isEmpty();// 输出: falseSystem.out.println(isEmpty.test("abc"));

             3、Function<T,R>:函数试接口有输入参数T和返回结果R,用于执行一些转换逻辑。

Function<Integer, Integer> function = (Integer i) -> i * i;
// 输出: 100
System.out.println(function.apply(10));

            4、Supplier<T>:供给型接口,无参数返回数据类型T。

            5、Consumer<T>:消费型接口,有参数T,无返回值。

public class User {public void follow(final String str) {System.out.println("Following the " + str);}
}Consumer<String> follow = user :: follow;
follow.accept("Consumer....");

        方法引用 :

                1、构造器引用: ClassName::new
                2、类的静态方法引用: ClassName::staticMethodName
                3、对象的实例方法引用: object::methodName
                4、特定类型的实例方法引用:TypeName::methodName

        LocalDate API : 

                1、LocalDate : 年月日;

                2、LocalTime : 时分秒;

                3、LocalDateTime : 年月日时分秒;

                4、Period : 两个日期之间的时间间隔;

                5、Duration : 两个时间之间的持续时间;

                

相关文章:

JDK1.8新增特性

新特性&#xff1a; Lambda表达式: &#xff08;语法三要素&#xff1a;参数、箭头、代码&#xff09; JDK1.8引入的一种新语法Lambda表达式,它简化了匿名内部类的使用和提高代码的可读性。 /**正常写法创建Runable**/ Runnable runnable new Runnable() {Overridepublic voi…...

环境背景文本到语音转换

目录 概述演示效果核心逻辑使用方式 概述 本文所涉及的所有资源的获取方式&#xff1a;https://www.aspiringcode.com/content?id100000000027&uid2f1061526e3a4548ab2e111ad079ea8c 论文标题&#xff1a; 本文提出了 VoiceLDM&#xff0c;这是一种旨在生成准确遵循两种…...

后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用

目录 后端数据增删改查Springboot 实体&#xff08;entity&#xff09;类引进添加UserMapper接口 创建对用的UserController注意数据库查询不一致新增数据更新删除postman测试 后端数据增删改查 基于之前构建系统&#xff0c;实现用户数据的CRUD。 打开navicat16&#xff0c;…...

《Python编程实训快速上手》第九天--调试技巧

一、抛异常 异常类型分为两类&#xff0c;第一类是Python自带的异常类型&#xff08;见《Python编程快速上手》第一天---前三章打基础&#xff09;&#xff0c;第二类是自定义异常。 面对自定义异常类型&#xff0c;使用raise抛异常&#xff0c;类型值默认为Exception&#x…...

html5复习一

目标 1、html5介绍及开发工具 2、html5标签 3、文本样式 4、图片标签和超链接标签 知识点&#xff1a; 万维网的构成&#xff1a; 1、url:统一资源定位器 2、http/https:超文本传输协议 3、html&#xff1a;超文本标记语言 html的后缀名&#xff1a; .html 和 .htm html基本…...

SSL/TLS,SSL,TLS分别是什么

SSL/TLS&#xff0c;SSL&#xff0c;TLS分别是什么 SSL&#xff08;Secure Sockets Layer&#xff0c;安全套接层&#xff09; 定义与发展历程&#xff1a; SSL 是一种早期的网络安全协议&#xff0c;旨在为网络通信提供保密性、数据完整性和身份验证等安全保障。它最初由网景…...

css iframe标签使用

<iframe> 标签用于在网页中嵌入另一个 HTML 页面。它非常灵活&#xff0c;可用于嵌入内容&#xff0c;比如其他网站、视频、地图等。以下是有关 <iframe> 的详细介绍及使用方法&#xff1a; 基本语法 <iframe src"URL" width"宽度" height…...

API的妙用

我们都知道&#xff0c;通过使用API可以快速开发部署应用&#xff0c;不需要从头开始收集处理数据。能够很好地提高效率。 一、加速应用程序开发和部署 通过调用API接口&#xff0c;可以快速获取数据、实现功能或整合其他服务&#xff0c;无需从零开始编写大量的代码&#xf…...

HTML5超酷响应式视频背景动画特效(六种风格,附源码)

文章目录 1.设计来源1.1 大气蓬勃动态背景界面效果1.2 星空闪闪动态背景界面效果1.3 眼神深眸动态背景界面效果1.4 星空银河动态背景界面效果1.5 花开花落动态背景界面效果1.6 海底世界动态背景界面效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开…...

Spire.PDF for .NET【页面设置】演示:打开 PDF 时自动显示书签或缩略图

用户打开 PDF 文档时&#xff0c;他们会看到 PDF 的初始视图。默认情况下&#xff0c;打开 PDF 时不会显示书签面板或缩略图面板。在本文中&#xff0c;我们将演示如何设置文档属性&#xff0c;以便每次启动文件时都会打开书签面板或缩略图面板。 Spire.PDF for .NET 是一款独…...

算法中常用到的数学知识:埃拉托色尼筛法(获取质数)、欧几里得算法(求两个数最大公因数)

不管是在项目中还是面试时&#xff0c;一定的算法能力都是极其重要的。大多数算法只要有一定的基础&#xff0c;给足够的时间是可以写出来的&#xff0c;然而有一类算法&#xff0c;说难也不难&#xff0c;说简单也不简单&#xff0c;这种算法通常涉及到某种数学知识&#xff0…...

实战OpenCV之人脸识别

基础入门 随着计算机视觉技术和深度学习的发展,人脸识别已经成为一项广泛应用的技术,涵盖了从安全监控、身份验证、智能家居到大型公共安全项目等多个领域。 人脸识别技术通常包括以下几个主要步骤。 图像采集:通过摄像头或其他图像采集设备,捕获包含人脸的图像或视频帧。 …...

图像预处理之图像滤波

目录 图像滤波概览 均值滤波&#xff08;Mean Filter&#xff09; 中值滤波&#xff08;Median Filter&#xff09; 高斯滤波&#xff08;Gaussian Filter&#xff09; 双边滤波&#xff08;Bilateral Filter&#xff09; 方框滤波&#xff08;Box Filter&#xff09; S…...

【通俗理解】隐变量的变分分布探索——从公式到应用

【通俗理解】隐变量的变分分布探索——从公式到应用 关键词提炼 #隐变量 #变分分布 #概率模型 #公式推导 #期望最大化 #机器学习 #变分贝叶斯 #隐马尔可夫模型 第一节&#xff1a;隐变量的变分分布的类比与核心概念【尽可能通俗】 隐变量的变分分布就像是一场“捉迷藏”游戏…...

PyTorch 分布式并行计算

0. Abstract 使用 PyTorch 进行多卡训练, 最简单的是 DataParallel, 仅仅添加一两行代码就可以使模型在多张 GPU 上并行地计算. 但它是比较老的方法, 官方推荐使用新的 Distributed Data Parallel, 更加灵活与强大: 1. Distributed Data Parallel (DDP) 从一个简单的非分布…...

[cg] vulkan external_memory

最近在写硬件编码的代码&#xff0c;渲染器渲染出的RT需要给到编码器做硬编&#xff0c;有两种方法能做。 一是通过 map的方式&#xff0c;把显存里的数据读到cpu&#xff0c;拷贝一份cpu data给编码器&#xff0c;但这种方式会有内存拷贝的开销。所以&#xff0c;我们思考是否…...

如何使用Python代码实现给GPU预加热

如何使用Python代码实现给GPU预加热 一、引言二、使用深度学习框架进行预加热2.1 TensorFlow预加热2.2 PyTorch预加热三、使用CUDA进行预加热四、预加热的效果评估与优化五、结论与展望在高性能计算和深度学习领域,GPU(图形处理器)已经成为不可或缺的加速工具。然而,在实际…...

硬件知识 cadence16.6 原理图输出为pdf 网络名下划线偏移 (ORCAD)

1. cadence原理图输出为PDF网络名下划线偏移 生这种情况的原因 1. 设计的原理图图纸大小比正常的 A4图纸大。 2. 打印为PDF 的时候&#xff0c;打印机的设置有问题。 2.cadence原理图输出为 PDF网络名下划线偏移的情况 可以看到上图&#xff0c;网络名往上漂移。 3. 解决办法 …...

ffmpeg视频滤镜:提取缩略图-framestep

滤镜描述 官网地址 > FFmpeg Filters Documentation 这个滤镜会间隔N帧抽取一帧图片&#xff0c;因此这个可以用于设置视频的缩略图。总体上这个滤镜比较简单。 滤镜使用 滤镜参数 framestep AVOptions:step <int> ..FV....... set frame st…...

RecyclerView详解——(四)缓存复用机制

稍微看了下源码和部分文章&#xff0c;在此做个小小的总结 RecyclerView&#xff0c;意思为可回收的view&#xff0c;那么相对于listview&#xff0c;他的缓存复用肯定是一大优化。 具体而言&#xff0c;当一个列表项被移出屏幕后&#xff0c;RecyclerView并不会销毁其视图&a…...

Captain AI:Ozon售后全流程智能化,降低损失,提升复购

售后运营是Ozon店铺稳定发展的关键&#xff0c;优质的售后体验能提升买家复购率、维护店铺口碑&#xff0c;而国内商家在售后运营中&#xff0c;常常面临“时差响应慢、纠纷处理不专业、退换货流程繁琐”的问题&#xff0c;导致买家差评增加、店铺权重下降&#xff0c;甚至产生…...

OpenClaw+Hermes +Vibe Coding本地部署|论文自动化|知识工作流

在人工智能快速重塑科研范式的背景下&#xff0c;大语言模型、Agent系统与自动化科研工作流&#xff0c;正在深刻改变文献阅读、代码开发、数据分析、论文写作与科研协作的底层方式。面对模型快速迭代、工具形态持续演进的新局面&#xff0c;科研人员亟需从“会使用AI”进一步升…...

猫抓Cat-Catch:浏览器视频下载与资源嗅探的终极解决方案

猫抓Cat-Catch&#xff1a;浏览器视频下载与资源嗅探的终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到想要保存网页中…...

别再用 STVP 了!用 IAR 3.11.1 调试 STM8S003 点灯程序,效率翻倍

告别STVP&#xff1a;用IAR 3.11.1高效调试STM8S003点灯程序全指南 在嵌入式开发领域&#xff0c;工具链的选择往往决定了开发效率的上限。对于STM8系列开发&#xff0c;许多工程师仍在使用STVP这种基础的烧录工具&#xff0c;却不知已经错过了IAR Embedded Workbench带来的效…...

毕业论文神器!高效论文写作全流程AI论文写作工具推荐(2026 最新)

论文写作全流程可拆解为文献调研→选题/开题→大纲/初稿→文献综述→降重/去AI味→润色/格式→查重/投稿七大环节&#xff0c;2026年AI论文写作工具按环节精准匹配&#xff0c;兼顾中文适配、降重能力、去AI痕迹、学术合规四大核心需求&#xff0c;覆盖免费/付费、通用/垂直场景…...

taotoken如何帮助初创团队以可控成本快速验证ai产品创意

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken如何帮助初创团队以可控成本快速验证AI产品创意 1. 初创团队验证AI创意的核心挑战 对于初创团队而言&#xff0c;验证一个…...

终极SPT-AKI存档编辑器:如何轻松掌控你的逃离塔科夫离线游戏进度

终极SPT-AKI存档编辑器&#xff1a;如何轻松掌控你的逃离塔科夫离线游戏进度 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh…...

SleeperX:macOS系统级电源管理架构解析与深度集成方案

SleeperX&#xff1a;macOS系统级电源管理架构解析与深度集成方案 【免费下载链接】SleeperX MacBook prevent idle/lid sleep! Hackintosh sleep on low battery capacity. 项目地址: https://gitcode.com/gh_mirrors/sl/SleeperX 在macOS生态系统中&#xff0c;电源管…...

AI设计泳装,能颠覆今夏潮流?

AI设计泳装&#xff0c;能颠覆今夏潮流&#xff1f; 夏日临近&#xff0c;泳装市场硝烟再起。然而&#xff0c;海量款式与消费者挑剔审美的矛盾日益尖锐——设计周期长、打版成本高、爆款命中率低&#xff0c;让无数商家深陷库存泥潭。如何破局&#xff1f;北京先智先行科技有限…...

PyQt5串口上位机开发指南:从环境搭建到数据可视化实战

1. 项目概述与核心价值最近在做一个嵌入式项目&#xff0c;调试阶段需要频繁地和下位机进行数据交互。每次改个参数、读个状态&#xff0c;都得打开串口调试助手&#xff0c;手动输入十六进制命令&#xff0c;再盯着返回的数据一个个换算&#xff0c;效率低不说&#xff0c;还容…...