- 博客(7)
- 问答 (1)
- 收藏
- 关注
原创 映射框架--MapStruct--001--基本使用
简介MapStruct是满足JSR269规范的一个Java注解处理器,用于为Java Bean生成类型安全且高性能的映射。它基于编译阶段生成get/set代码,此实现过程中没有反射,不会造成额外的性能损失。您所要做的就是定义一个mapper接口(@Mapper),该接口用于声明所有必须的映射方法。在编译期间MapStruct会为该接口自动生成实现类。该实现类使用简单的Java方法调用来映射source-target对象,在此过程中没有反射或类似的行为发生。编译时期使用自动生成get和set方法,进行
2020-08-31 21:05:36 326
原创 Java8新特性-006-Stream初识
基本概念流由三部分组成数据源,可以是List,数组…零个或者多个中间操作,可以让前面一个流转换成另外一个流终止操作,得到最后的结果流操作的分类惰性求值只有终止操作执行时,中间操作才会执行//在执行count终止操作的时候,xxx(),yyy()中间操作才会执行stream.xxx().yyy().count();//对于没有终止操作而言,中间操作,即中间的方法是不会执行,即xxx() yyy()不会执行stream.xxx().yyy()及早求值,即指在调用方法的
2020-08-20 00:35:28 172
原创 Java8新特性-005-方法引用
lambda表达式的语法糖,一种特殊情况,让代码更加简洁入门案例public class MethodDemo { public static void main(String[] args) { List<String> list = Arrays.asList("hello","world","hello world"); //传统写法 list.forEach(item -> System.out.println(item.
2020-08-17 23:26:05 104
原创 Java8新特性-004-Optional
主要目的:为了解决NPE问题概念一个容器,内部可能包含空值或者非空值如果包含则isPresent()返回true,否则false是一个基于值的对象,所以,不要进行==的比较。基于值的对象有如下特点:final,不可变相等是基于equals方法,而不是==没有可访问的构造方法,构造通过工厂方法创建Optional是一个容器,内部真正保存数值的是final修饰的value对象提供了三个工厂方法通过empty构造,容器内部的value为Null的一个Optional容器对象.
2020-08-15 14:36:12 142
原创 Java8新特性-003-Predicate
作用判断一个传入的参数,是否符合传入的行为,返回boolean值源码@FunctionalInterfacepublic interface Predicate<T> { //唯一抽象方法 boolean test(T t); default Predicate<T> and(Predicate<? super T> other) { Objects.requireNonNull(other);
2020-08-11 23:13:03 552
原创 Java8新特性-002-Function
函数式接口@FunctionalInterfacepublic interface Function<T, R> { //抽象方法 R apply(T t); //默认方法 default <V> Function<V, R> compose(Function<? super V, ? extends T> before) { Objects.requireNonNull(befor
2020-08-10 00:14:46 331
原创 Java8新特性-001-Lambda表达式
概念Lambda表达式的基本结构(parma1,param2,param3) -> { 执行体 }函数式接口:可以认为是一个标识仅且只有一个抽象方法,独一无二的,只存在一个的接口中可以有覆盖了Object中的方法,万物皆是object的子类创建方式为下面三种lambda表达式方法引用构造器引用函数式接口注解@FunctionalInterface如果一个接口使用了该注解表示函数式接口,如果不是下面的两个条件,编译器则报错是一个接口,而不是其他类型,包括
2020-08-10 00:13:59 129
空空如也
macbookpro安装elasticsearch报错,报错如下
2021-02-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人