`

Java系列 – 用Java8新特性进行Java开发太爽了(续)

阅读更多

本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome-2/


前言

上周, 我们谈论了关于Java8的新特性有那些, 什么是函数式编程, 什么是Lambda表达式, 这周让我们继续谈论这些新特性.

本周, 我们会聊一下什么是Stream API, 以及什么是Optional.

 

Stream API你让我想重写我以前的所有代码

"Stream API你让我想重写我以前的所有代码", 为什么我会说出这样的一句话呢, 因为当你使用了Stream API之后, 以前可能需要一个以及多个for循环或for-each循环才能完成的工作现在只需要一行就完成了.

以前对集合类型进行多线程操作可能需要注意很多地方, 但是现在你需要打开一个开关, 就可以令你对集合类型的操作的效率提升了许多倍.

以前可能还要顾及许多地方, 现在你只需要关注你要实现的逻辑, 剩余的就交给Java8本身吧.

以前可能你要说明是如何操作的, 代码阅读性也不高, 现在你的代码能直接让人"看的懂"而不需要任何注释.

 

使用了Optional让你的应用从此不再发生空指针异常

Optional, 是一个泛型类, 表示这个对象是否存在, 可使用API来判断是否为空.

引用Java8 In Action--"

使用Optional会迫使你更积极地解引用Optional对象,以应对变量值缺失的问题, 最终, 你能更有效地防止代码中出现不期而至的空指针异常.

使用Optional能帮助你设计更好的API, 用户只需要阅读方法签名, 就能了解该方法是否接受一个 Optional 类型的值."

 

以上就是我使用Java8一段时间得出的心的, 个人观点仅供参考.

Pere Tang. 0am on July 15, 2017

0
0
分享到:
评论

相关推荐

    李兴华系列–JAVA详解视频教程

    根据提供的文件信息,“李兴华系列–JAVA详解视频教程”,我们可以从中提炼出一系列与Java编程语言相关的知识点。尽管部分内容提供了一个百度网盘链接但未给出具体教程内容,这里将基于标题、描述和标签来展开讨论...

    Beginning Java 8 Language Features

    本书的用户级别被标记为“Beginning–Intermediate”,即适合初学者和中级读者,它的学习目标是掌握Java 8引入的新特性和改进,使读者能够编写出更加高效和现代化的Java代码。 综上所述,《Beginning Java 8 ...

    Core Java™ Volume II–Advanced Features, Eighth Edition

    《Core Java™ Volume II–Advanced Features, Eighth Edition》是一本专为Java开发人员设计的权威指南,涵盖了Java语言的高级特性和应用。这本书是经典之作的第八版,更新至了最新的Java版本,提供了免费下载的福利...

    Java™ Platform, Micro Edition,CLDC – MIDP 2 for Sony Ericsson feature and entry level phones

    ### Java™ Platform, Micro Edition (Java ME) CLDC – MIDP 2 for Sony Ericsson Feature and Entry Level Phones #### 概述 此文档为索尼爱立信(Sony Ericsson)发布的针对其功能手机及入门级手机上的Java平台...

    汉化javaAPI1.9

    API包含了一系列预定义的类、接口和方法,为Java开发者提供了丰富的功能,使得开发者无需关注底层实现细节,就能轻松进行程序开发。这个“汉化javaAPI1.9”是对原始英文版Java API文档的中文翻译,方便中国开发者...

    Core Java, Volume II--Advanced Features(10th)

    第10版涵盖了Java 8及后续版本的新特性,如lambda表达式、函数式编程、日期时间API、并发改进等,帮助读者跟上Java语言的发展步伐。 总之,《Core Java, Volume II--Advanced Features(10th)》是Java开发者提升技能...

    JAVA程序员要常去的网站

    - **适用**:适合希望深入了解JAVA开发细节的读者。 12. **Java Desktop Organization(http://www.javadesktop.org)** - **简介**:位于Java.net上的JAVA桌面技术社区网站。 - **功能**:聚集了一批关注JAVA...

    Core Java® Volume I–Fundamentals.pdf(JAVA核心技术卷1英文版,非扫描版)

    第十版更新可能涉及了Java的新版本特性,例如从Java 8到Java 11或者更高版本的更新内容。书中通常会包含索引,方便读者查找特定的知识点。 版权和责任说明 书籍的版权声明中强调了出版社对于错误和遗漏不负有任何...

    chat-room-client.rar_Java chat–room

    Java聊天室客户端是一款基于Java编程语言开发的简单通信应用程序,它允许用户通过网络与其他用户进行实时文本交流。在这个项目中,我们将深入探讨Java聊天室客户端的设计与实现,以及相关的技术知识点。 首先,Java...

    core java2 volumn II 5e java2核心编程第5版卷II 高级特性

    根据提供的文件信息,本书《Core Java 2, Volume II – Advanced Features》第五版是一本针对高级Java开发者的专业书籍,作者是Cay S. Horstmann 和 Gary Cornell,出版方为Prentice Hall PTR,出版日期为2001年12月...

    用java8 Stream流的方式对文本文件逐行处理–.docx

    Java 8引入了新的特性,如Stream API,使得文件操作更加简洁高效。本文将详细讲解如何使用Java 8的Stream流来逐行处理文本文件。 1. **Java 8 逐行读取文件** 在Java 8中,你可以利用`Files.lines()`方法,配合`...

    Java程序设计教程.ppt

    Java程序设计教程主要涵盖了一系列Java编程的基础到高级主题,旨在教授学生如何有效地使用Java进行程序开发。本教程可能由同济大学软件学院的唐剑锋教授编写,部分内容借鉴了雍俊海的《Java程序设计教程》(第二版,...

    jdk9新特性的一些示例代码

    Java开发工具包(JDK)是Java编程语言的核心组件,每个新版本都会引入一系列改进和新特性以提高性能、安全性和开发效率。JDK 9是这个系列中的一个重要里程碑,它发布于2017年,包含了许多引人注目的新特性。下面,...

    Core Java Volume II Advanced Features 9th Edition

    9. **Java NIO(New I/O)**:这一章节介绍了Java NIO包提供的新特性,如非阻塞I/O操作、内存映射文件以及通道和缓冲区的概念等。 10. **高级Java SE平台特性**:除了上述内容外,本书还介绍了Java SE平台的一些...

    Java SE Downloads

    ### Java SE Downloads – JDK (Java Development Kits):JAVA开发工具集 #### 一、概述 在探讨Java SE Downloads时,我们首先需要理解JDK(Java Development Kit)的重要性及其在Java编程语言中的核心地位。JDK...

    Java web Start初级教程

    为了更好地理解Java Web Start的工作原理,下面通过一个简单的Swing应用程序来演示如何使用JWS进行部署。 1. **开发Swing程序并打包**:首先创建一个Swing图形界面应用程序,并将其打包成一个JAR文件。这个JAR文件...

    inside_java_ch01.pdf

    深入探讨JAVA JDK:Java开发工具的核心与演化 Java Development Kit(简称JDK),作为Java编程语言的核心组件,自Sun Microsystems于1995年推出以来,一直是Java开发者的基础工具箱。JDK不仅包含了编译、运行Java...

    java文档

    Comparator接口,Eclipse – 整合开发工具(基础篇),ejb环境,Java 理论与实践: 哈希,Java接口和Java抽象类,weblogic 服务器管理,JSP中基于Session的在线用户统计分析,Java语言编码规范-1.01,JDK5新特性.......

Global site tag (gtag.js) - Google Analytics