Java8语法基本使用 lambda表达式使用 lambda表达式基本概念 只需要知道lambda表达式主要功能是用来实现接口的和匿名内部类差不多,而且实现的是一个只有一个抽象方法的接口(函数式接口,被@FunctionalInterface注释) 快速入门案例 基本语法 java8新增的函数式接口 ...
分类:
编程语言 时间:
2017-11-25 19:24:04
阅读次数:
129
一、 创建Stream 1.0 创建Stream方式一: 集合类的stream()或 parallelStream() 2.0 创建Stream方式二: 通过Arrays中的静态方法stream()获取 3.0 创建Stream方式三: 通过Stream 类中的静态方法of() Stream<Str ...
分类:
编程语言 时间:
2017-11-24 23:55:22
阅读次数:
170
最近看了一些java8新特性文章,目前新记录一些项目中会用到的一些java8的特性 1.接口的默认方法 java8允许我们添加一个默认的非抽象的方法,只需要default关键字,这个特性又叫扩展方法 2.Lambda表达式 3.函数式接口@FunctionalInterface 4.方法与构造函数引 ...
分类:
编程语言 时间:
2017-11-24 23:52:40
阅读次数:
179
问题: 创建maven项目的时候,jdk版本是1.7版本,而自己安装的是1.8版本,从而导致无法使用lambda等Java8新特性。 每次右键项目名 maven update project 时候,项目jdk版本就会变回1.7版本。 解决办法: 解决办法一:在项目中的pom.xml指定jdk版本 这 ...
分类:
其他好文 时间:
2017-11-21 01:02:01
阅读次数:
176
【集合框架】JDK1.8源码分析之HashMap(一) 一、前言 在分析jdk1.8后的HashMap源码时,发现网上好多分析都是基于之前的jdk,而Java8的HashMap对之前做了较大的优化,其中最重要的一个优化就是桶中的元素不再唯一按照链表组合,也可以使用红黑树进行存储,总之,目标只有一个, ...
分类:
其他好文 时间:
2017-11-20 13:23:01
阅读次数:
113
`java.util.ArrayList`是最常用的工具类之一, 它是一个线程不安全的动态数组. 本文将对JDK 1.8.0中ArrayList实现源码进行简要分析. 底层采用 来存储, 每次添加元素前都会检查数组是否有足够空间容纳新的元素. 若数组空间不足则会进行扩容操作, 即创建一个容量更大的数 ...
分类:
编程语言 时间:
2017-11-20 01:14:22
阅读次数:
156
1.本周学习总结 1.1以你喜欢的方式(思维导图或其他)归纳总结集合相关内容。 2.书面作业 本次作业题集 2.1. List中指定元素的删除(题集题目) 2.1.1 实验总结。并回答:列举至少2种在List中删除元素的方法。 在 方法中,通过split(" +")方法来按照一个或者多个空格进行字符 ...
分类:
编程语言 时间:
2017-11-18 21:53:53
阅读次数:
177
[From] https://unmi.cc/proper-ways-of-using-java8-optional/ 我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointExceptio ...
分类:
编程语言 时间:
2017-11-16 14:34:11
阅读次数:
215
翻译自 "java8 tutorial" 新特性 Default Methods for Interfaces(接口的默认方法) Java 8 使我们能够通过使用 关键字将非抽象方法实现添加到接口。这个功能也被称为虚拟扩展方法。 这是我们的第一个例子: 除了抽象方法 ,接口 还定义了默认方法 。具体 ...
分类:
其他好文 时间:
2017-11-14 18:30:12
阅读次数:
155
1. 什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; } 转成λ表达式后是这个样子: (int x, int y) -> x + y; 参数类型也可以省略,Java编译器会根据上下文推断 ...
分类:
编程语言 时间:
2017-11-12 14:12:51
阅读次数:
207