package creative.air.java8.common; import java.time.LocalDate; import java.time.Period; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.function.Predicate; import java.util.stream.IntStream; /** * A First Taste for JDK8 * Created by feuyeux@gmail.com * Date: Jan 16 2014 * Time: 2:02 PM */ public class FirstApp { @FunctionalInterface public interface Task { void run(); /*1. given default method in functional interface(or a SAM type)*/ default void cancel() { } } public static void schedule(Task task) { task.run(); } public static void main(String[] args) { /*2. Lambda Expressions for anonymous class*/ { /* schedule(new Task() { @Override public void run() { System.out.println("Hello world!"); } }); */ schedule(() -> { System.out.println("Hello world!"); }); } List<String> versions = Arrays.asList("JDK7", "JDK8"); /*3. method reference :: 126 Lambda Expressions & Virtual Extension Methods*/ { /* versions.sort(new Comparator<String>() { @Override public int compare(String o1, String o2) { return o2.compareTo(o1); } }); */ /* versions.sort((o1, o2) -> o1.compareTo(o2)); */ Comparator<? super String> comparator = String::compareTo; versions.sort(comparator); System.out.println("JDK versions:" + versions); } /*4. 107 Bulk Data Operations for Collections*/ { /* versions.parallelStream().filter( s -> s.equals("JDK8") ).map( s -> "Develop in " + s + " with Pleasure!" ).forEach( System.out::println ); */ Predicate<? super String> predicate = s -> s.equals("JDK8"); versions.parallelStream().filter(predicate).map( s -> String.format("Develop in %s with Pleasure!", s) ).forEach( System.out::println ); IntStream range = IntStream.range(101, 150); range.parallel().filter(i -> i % 10 == 0).sequential().forEach(System.out::println); } /*JSR 310*/ { Period period = Period.between(LocalDate.parse("1979-03-03"), LocalDate.now()); System.out.printf("my age is:%d%n", period.getYears()); System.out.printf("Touch JSR310 %s.%n", LocalDate.of(2014, 1, 16)); LocalDate bjDate = LocalDate.of(2004, 8, 26); System.out.println(bjDate.plus(9, ChronoUnit.YEARS) .plus(6, ChronoUnit.MONTHS) .plus(5, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("E MM/dd/yyyy"))); } } }
相关推荐
超清晰:解析极限编程 拥抱变化 第2版,绝对物有所值,一共25章。
标题提到的"ADT 24.0.2兼容java 1.8"意味着这个版本的ADT已经更新,能够与Java 1.8(也称为Java 8)版本无缝配合,这在当时是一个重要的进步,因为Java 8引入了许多新的特性和优化。 Java 1.8是Java语言的一个重大...
【Java开发规范】Java编程语言的开发规范是提高代码质量、可读性和团队协作效率的重要准则。本规范主要涵盖以下几个方面: 1. **命名风格**: - **命名规则**:命名不能以下划线或美元符号开头或结束,避免使用...
此外,Java也在积极拥抱云计算和大数据技术,提供更多的API和工具支持,以适应现代软件开发的需求。 总的来说,Java作为一种成熟的编程语言,在保持其稳定性的同时,也在不断地吸纳新技术,创新自身的技术体系,以...
互联网资讯,技术简介,IT、AI技术,人工智能
6. 爱情与陪伴:从“请给我最后一个拥抱”可以看出,离别时的拥抱象征着安慰、力量和勇气,是对过去美好时光的告别,也是对新旅程的祝福。爱情在这里不仅是浪漫的,更是一种支持和鼓励。 7. 友谊的持久:尽管毕业...
深入内核,此工具类严选Java的MessageDigest作为驱动引擎,确保每一次加密都遵循严格的MD5算法标准。128位的哈希值输出,如同为原始数据穿上了一层坚不可摧的铠甲,无论是对抗数据篡改还是信息泄露,都游刃有余。在...
Java作为一种强大的编程语言,其设计初衷之一就是全面拥抱OOP理念,这不仅体现在语言结构上,更体现在其对软件工程实践的影响上。 #### 封装(Encapsulation) 封装是OOP的核心概念之一,它指的是将数据和操作这些...
这个标题表明我们正在讨论一个使用Java编程语言实现的自动取款机(ATM)模拟程序。在Java中,开发这样的界面程序通常涉及Swing或JavaFX库来创建图形用户界面(GUI)。ATM程序可能包括模拟存款、取款、查询余额、转账...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计理念是“一次编写,到处运行”,这意味着编写好的Java代码可以在任何支持Java的平台上运行,无需重新...
8. **为维护者编写程序** 在编写程序时应考虑到未来的维护需求,无论是由自己还是其他人维护。良好的编程实践包括编写清晰、易懂且有良好注释的代码,以便未来能够轻松理解和修改。 9. **最少意外原则** 程序...
同时,《解析极限编程 拥抱变化》(Kent Beck的XP第二版)是敏捷开发的必读书籍,而《统一软件开发过程》(UP)虽然与敏捷相悖,但其对文档和流程的重视也是不容忽视的。Scott Ambler的《敏捷建模》则提供了将敏捷与...
【麦肯锡】睁大眼睛拥抱AI一代(英).pdf【麦肯锡】睁大眼睛拥抱AI一代(英).pdf【麦肯锡】睁大眼睛拥抱AI一代(英).pdf【麦肯锡】睁大眼睛拥抱AI一代(英).pdf【麦肯锡】睁大眼睛拥抱AI一代(英).pdf【麦肯锡】...
Servlet 4.0作为Java Servlet API的一个重大新版本,拥抱了HTTP/2协议,并对未来可能的资源需求进行了预期。Servlet 4.0的主要目的是提高开发效率,简化应用部署,并优化性能。它在原有的基础上引入了一些新特性,...
此外,Java还积极拥抱现代软件开发模式,如DevOps和持续集成/持续部署(CI/CD),以适应快速变化的市场需求。 综上所述,Java不仅是一种强大的编程语言,更是一套完整的生态系统,涵盖了从企业级应用到移动开发、大...
Java语言的出现,得益于C和C++语言的发展,它继承了两者的特点,同时克服了它们的一些不足,完全拥抱面向对象的编程理念,成为互联网应用的标准之一,引领了技术变革。 1. **Java语言的起源和发展** - **历史背景...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了在激烈的竞争中脱颖而出,Java开发者需要对语言有深入的理解,并且能够应对各种面试挑战。"java面试题.txt"这个压缩包文件很可能包含...
本系统的标题“java版本图书管理系统.rar”表明我们探讨的是一个用Java语言实现的图书管理系统。这个系统可能是为了帮助图书馆进行图书的入库、出库、借阅、归还等日常管理工作而设计的。本文将围绕Java技术栈在图书...
Java 8 Lambda表达式是Java语言的一次重大更新,它引入了函数式编程的概念,极大地简化了多线程和集合处理。Lambda表达式是Java 8中的一个核心特性,允许开发者以更简洁的方式定义匿名函数,这对于处理回调、事件...
【描述】:本文探讨了技术如何在文学创作中发挥作用,以一篇800字的“拥抱春天”作文为载体,展示了技术如何辅助表达作者的情感与观察。 【标签】:技术 【正文】: 在现代社会,技术不仅在科学和工业领域发挥着...