随笔分类 - Java8
摘要:很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理 使用java8新特性,下面先来点基础的: List<类> list; 代表某集合 //返回 对象集合以类属性一升序排序 list.stream().sorted(Comparator.comparing
阅读全文
摘要:Java 9 改进的 Optional 类 Optional 类在 Java 8 中引入,Optional 类的引入很好的解决空指针异常。。在 java 9 中, 添加了三个方法来改进它的功能: stream() ifPresentOrElse() or() ifPresentOrElse() 方法
阅读全文
摘要:1.格式化常量字符串 public class TimeFormatter { //构造方法私有化:该类本身地方除外的其他地方无法实例化该类对象 private TimeFormatter() { } public static final String DATETIME_FORMATTER = "
阅读全文
摘要:我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。 通过JDK8源码javadoc,可以知道这个注解有以下特点: 1、该注解只能标记在"有且仅有一个抽象方法"的接口上。 2、JDK8接口中的静态方法和默认方法
阅读全文
摘要:一、是什么? 方法引用是用来直接访问类或者实例已经存在的方法或者构造方法。 二、哪里能用? 当Lambda表达式中只是执行一个方法调用时。 三、怎么理解? 这里以Arrays的sort方法进行讲解:public static <T> void sort(T[] a, Comparator<? sup
阅读全文
摘要:1.前言 Java 8提供了非常好用的 Stream API ,可以很方便的操作集合。今天我们来探讨两个 Stream 中间操作 map(Function<? super T, ? extends R> mapper) 和 flatMap(Function<? super T, ? extends
阅读全文
摘要:传统的,在JAVA中得MAP中删除元素,可以这样,假设有个MAP: Map<Integer, String> map = new HashMap<>(); map.put(1, "value 1"); map.put(2, "value 2"); map.put(3, "value 3"); for
阅读全文
摘要:先来铺垫下已经存在的 Java8 定义的函数式接口: Java8 Optional库实用操作【简化if else】 我们基本不需要定义自己的函数式接口,Java8 已经给我们提供了大量的默认函数式接口,基本够用,在 rt.jar 包的 java.util.function 目录下可以看到所有默认的函
阅读全文
摘要:一、引言 首先,Java8的Stream是对集合对象操作的API,它专注于对集合对象进行各种非常便利,高效的聚合操作或者大批量操作,从而减少代码的复杂度。借助于lambda表达式,极大的提高编程效率和程序可读性。并且Stream支持串行和并行两种模式,使我们无需编写太多代码,就可以很方便的写出高性能
阅读全文
摘要:一、引言 JDK1.8提供了许多现成的静态方法来减少我们的操作,本文,我们就来了解下这些常用的方法,并且让你的代码更加优雅,为什么要说JDK1.8,因为是个质的飞越,颠覆了JAVA7很多繁琐的操作。 二、Collectors静态方法 1. toCollection toCollection方法可以指
阅读全文
摘要:话不多说,直接上代码,请朋友们自行测试~ public class Gamer47 { public static void main(String[] args) { //将List<Map>变成一个map mergeListmapToOnemap(null); //将两个List<Map>合并成
阅读全文