一分钟学会系列:JDK 8新特性
时间:2019-02-19
本文章向大家介绍一分钟学会系列:JDK 8新特性,主要包括一分钟学会系列:JDK 8新特性使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.function.Predicate;
class Scratch {
interface MathOperation {
int operation(int a, int b);
}
public static void main(String[] args) {
String name = null;
Optional<String> optName = Optional.ofNullable(name);
System.out.println("========= orElse begin =========");
System.out.println(optName.orElse("this name is null"));
System.out.println("========= isPresent begin =========");
optName = Optional.ofNullable("tangguoqiang");
if (optName.isPresent()) {
System.out.println(optName.get());
}
System.out.println("========== functional interface begin =========");
MathOperation addition = (int a, int b) -> a + b;
System.out.println(addition.operation(1, 3));
List<String> nameList = new ArrayList<>(12);
nameList.add("zhangsan");
nameList.add("lisi");
nameList.add("wangwu");
nameList.add("zhangsan");
System.out.println("========= foreach begin =========");
nameList.stream().forEach(System.out::println);
System.out.println("========= isPresent begin =========");
Optional<String> optionalName = nameList.stream().findFirst();
if (optionalName.isPresent()) {
System.out.println(optionalName.get());
}
System.out.println("========= ifPresent begin =========");
optionalName.ifPresent(value -> {
System.out.println(value);
});
System.out.println("========= stream findFirst begin =========");
Optional<String> firstName = nameList.stream().findFirst();
System.out.println(firstName.isPresent());
System.out.println("========= stream findFirst isPresent begin =========");
System.out.println(nameList.stream().findFirst().isPresent());
System.out.println("========= stream filter begin =========");
System.out.println(nameList.stream().filter(new Predicate<String>() {
@Override
public boolean test(String s) {
if (s.contains("wang")) {
return true;
}
return false;
}
}).findFirst());
System.out.println("========= parallelStream count begin =========");
System.out.println(nameList.parallelStream().count());
System.out.println("========= paralleStream distinct begin =========");
System.out.println(nameList.parallelStream().distinct().count());
}
}
- 微信新出了逆天功能,或许你用得上
- 网站系统架构梳理-解决高负载高并发
- silverlight 相册雏型
- Mysql优化系列(1)--Innodb引擎下mysql自身配置优化
- 一台服务器多实例mysql做主从复制
- spring AOP日志管理
- vue-route+webpack部署单页路由项目,访问刷新出现404问题
- UNIX 高手的 10 个习惯
- linux下截取给定路径中的目录部分
- 一年坎坷也曾怀疑自己,如今五冠在手的柯洁将再战AI
- 从MapX到MapXtreme2004[3]-搜索图元Feature
- git push上传代码到gitlab上,报错401/403(或需要输入用户名和密码)
- mysql下mysqladmin日常管理命令总结
- Ubuntu下SVN安装和配置
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- window下通过ELK框架进行大型日志线下的可视化分析
- 一句话解释ThreadLocal类
- ElasticsSearch 之 倒排索引
- tomcat返回cookie有双引号问题
- 利用辗转相除法求最大公约数以及最小公倍数-Java
- 网络爬虫的风险
- git 使用小结大全
- Elasticsearch:search template
- 模仿echo命令学习BIO——Java实现
- 模仿echo命令学习NIO——Java实现
- Java 7 种阻塞队列详解
- protocol buffers 序列化数据
- dubbo的Failed to save registry store file问题
- TDSQL 安装部署(多图预警)
- Table has no partition for value 20190507