Java8 之 Date Time API
日期时间API 也是Java 8重要的更新之一,Java从一开始就缺少一致的日期和时间方法,Java 8 Date Time API是Java核心API的一个非常好的补充。为什么需要新的日期时间APIJava中现有的与日期和时间相关的类存在一些问题:日期时间类的定义不一致,在java.util和ja
老板让我把数据库字典导出到Markdown格式的文件
Java导出Markdown格式的数据字典前一阵子老板让我写个把项目的数据库字典导出来,但是不要word格式,就要markdown格式的。我第一反应是直接用数据库工具导出word在转成markdown不就行了吗,但是呢数据库更新了不是又要重新导出和转换,直接导出markdown不香吗?最近整理了一下
Java8 Stream API之使用流
Stream API支持许多操作,这些操作能帮助我们快速完成复杂的数据查询,如筛选、切片、映射、查找、匹配和归约。筛选和切片用谓词筛选,筛选出各不相同的元素,忽略流中的头几个元素,或将流截短至指定长度。用谓词筛选 filter流支持filter方法,该方法接受一个谓词(一个返回boolean的函数)
Java8 Stream API之流简介
流是什么流是Java API的新成员,它允许你以声明性的方式处理数据集合。可以看成遍历数据集的高级迭代。流可以透明地并行处理,无需编写多线程代码。我们先简单看一下使用流的好处。下面两段代码都是用来返回年龄小于14岁的初中生的姓名,并按照年龄排序。Java 8之前的方式:Student类代码List&
Java 8 之函数式接口和Lambda表达式
Java 8函数式接口有且只有一个抽象方法的接口称为函数式接口。Java 8新增了@FunctionalInterface注解,使用该注解的接口就是函数式接口。不是使用@FunctionalInterface注解的接口才是函数式接口,使用它是为了检查函数式接口的正确性,并且是一种规范。例如,我们在一
Java 8 之接口的静态方法和默认方法
Java 8接口的变化包括接口中的静态方法和默认方法。在Java 8之前,接口中只能有方法声明。但是从Java 8开始,我们可以在接口中使用默认方法和静态方法。Java 8 接口接口设计一直是一项艰巨的工作,因为如果我们想在接口中添加其他方法,则将需要对所有实现类进行修改。随着接口的过时,实现它的类
关于subsignature&return-type-substitutable
subsignature什么是签名(signature)方法签名组成:方法名+参数列表(参数的类型、个数、顺序)Java语言层面规定的签名是不包含返回值类型的;JVM层面规定的签名是包含返回值类型的。常见于:重写和重载什么是子签名(subsignature)假定有两个方法m和n,m和n具有相同的方法
Java
未读
解决:java.util.ConcurrentModificationException
ConcurrentModificationException在使用Java集合类时,java.util.ConcurrentModificationException是一个非常常见的异常。fail-fast机制是Java集合的一种错误机制。如果某个线程在迭代元素时,集合的结构发生了改变,此时ite
Java
未读
解析Outlook保存的.msg邮件,并将邮件中的表格导出到Excel
需求通过读取Outlook保存的msg类型邮件文件,解析邮件内容中的表格,并导出成Excel工具介绍outlook-message-parser : 一个Outlook邮件(.msg文件)解析工具myexcel : 一个集导入、导出、加密Excel等多项功能的工具包编码操作引入maven依赖<