随笔分类 - 【Java】--代码系列
摘要:Java8 Optional 一句话介绍Optional类:使用JDK8的Optional类防止NullPointerException(空指针异常)问题 一、前言 在我们开发的过程中,碰到的异常中NullPointerException必然是排行第一的,所以在平时编码中,我们会时时的判断null
阅读全文
摘要:Java8 Function、Consumer、Supplier 有关JDK8新特性之前还有三篇博客: 1,java代码(1) Java8 Lambda 2,java代码(2) Java8 Stream 3,java代码(3) Predicate详解 这一篇我们来了解JDK8已经定义好的几个函数式接
阅读全文
摘要:Java8函数式接口 之前有关JDK8的Lambda表达式 Java代码(1)--Java8 Lambda 函数式接口可以理解就是为Lambda服务的,它们组合在一起可以让你的代码看去更加简洁 一、概念 1、什么是函数式接口 所谓函数式接口,当然首先是一个接口,然后就是在这个接口里面 只能有一个抽象
阅读全文
摘要:Predicate详解 遇到Predicate是自己在自定义Mybatis拦截器的时候,在拦截器中我们是通过反射机制获取对象的所有属性,在查看这些属性上是否有我们自定义的UUID注解 如果有该注解,那么就给该属性赋值UUID随机字符串,作为主键保存到数据库,所以前提条件是获取带有UUID注解的属性,
阅读全文
摘要:CollectionUtils工具类 CollectionUtils工具类是在apache下的,而不是springframework下的CollectionUtils 个人觉得在真实项目中CollectionUtils,可以使你的代码更加简洁和安全 下面我们就一起来探究一下 先从maven官方找到最
阅读全文
摘要:java代码的优化 参考了一些Java开发手册有关代码的规范,觉得一段好的代码可以从三个维度去分析.1)性能,2)可扩展性,3)可读性 让我们看看别人是怎么去分析,还有值得我们去学习的地方,也是我正在要求自己的条件 一、性能考虑 1、必须注意,不对数据库层做任何操作,如果业务的确需要,那也最后注解说
阅读全文
摘要:Map中的computeIfAbsent方法 一、案例说明 1、概述 在JAVA8的Map接口中,增加了一个computeIfAbsent,此方法签名如下: public V computeIfAbsent (K key , Function<? super K, ? extends V> mapp
阅读全文
摘要:guava之Lists、Maps 谷歌提供了guava包里面有很多的工具类,Lists和Maps集合工具,集合操作做了些优化提升 一、概述 1、静态工厂方法 (1)Guava提供了能够推断泛型的静态工厂方法 List<Person> list = Lists.newArrayList(); Map<
阅读全文
摘要:guava字符串工具 一、Joiner 根据指定的分隔符把字符串连接在一起,MapJoiner执行相同的操作,但是针对Map的key和value 分析源码可知:该类构造方法被private修饰,无法直接通过new 实现,通过调用on传入分隔符来得到实现 案例 public class JoinerT
阅读全文
摘要:guava之Bimap bimap的作用很清晰:它是一个——映射,可以通过key得到value,也可以通过value得到key 一、概述 1、bimap和普通HashMap区别 (1)在java集合类库中的Map,它的特点是存放的键(key)是唯一的,而值(value)可以不唯一,而 bimap要求
阅读全文
摘要:guava之multimap 上一篇说的是Multiset它可以对存入的相同元素做一个计数的功能,那multimap呢? 一、概述 1、基本介绍和案例说明 multimap和Multiset的继承结果很相似,只不过在上层的接口是Multimap不是Multiset Multimap的特点其实就是可以
阅读全文
摘要:guava之Multiset 一、概述 Guava提供了一个新集合类型Multiset,它可以多次添加相等的元素,且和元素顺序无关,Multiset继承于JDK的Collection接口,而不是Set接口,它和set最大的区别就是 它可以对相同元素做一个计数的功能,普通的Set就像:[car,shi
阅读全文
摘要:Immutable(不可变)集合 一,概述 guava是google的一个库,弥补了java语音的很多方面的不足,很多在java8中已有实现,暂时不展开,Collections是jdk提供的一个工具类 Guava中不可变对象和Collections工具类的unmodifiableSet/List/M
阅读全文
摘要:stream Java8新特性Stream流,那Stream表达式到底是什么呢,为什么可以使你的代码更加整洁而且对集合的操作效率也会大大提高? 一、概述 1、什么是Stream Stream是一种可供流式操作的数据视图有些类似数据库中视图的概念,它不改变源数据集合如果对其改变的操作它会返回一个新的数
阅读全文
摘要:guava复写Object常用方法 Guava是一个Google的基于java1.6的类库集合的扩展项目,这个库提供用于集合,缓存,支持原语,并发性,字符串处理,I/O和验证的实用方法, 这些高质量的API可以使你的Java代码更加优雅,更加简洁,让你工作更加轻松愉悦 一、概述 在Java中Obje
阅读全文
摘要:Lambda 一、概述 1、什么是Lambda表达式 //1.不需要参数,返回值为5 () -> 5 //2.接收一个参数(数字类型),返回其2倍的值 x -> 2 * x //3.接收2个参数(数字),并返回他们的差值 (x,y)-> x-y //4.接收2个int类型整数,返回他们的和 (int
阅读全文

浙公网安备 33010602011771号