Java 8 方法引用

方法引用通过方法的名字来指向一个方法。方法引用可以使语言的构造更紧凑简洁,减少冗余代码。方法引用使用一对冒号::。下面,我们在 Car 类中定义了 4 个方法作为例子来区分 Java 中 4 种不同方法的引用。package com.runoob.main; @FunctionalInterfacepublic interface Supplier<T> { T ge... …… 阅读全文

Java 8 默认方法

Java 8 新增了接口的默认方法。简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。我们只需在方法名前面加个default关键字即可实现默认方法。为什么要有这个特性?首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全部实现该接口的类,目前的java 8之前的集合框架没有foreach方法,通常能想到的解决办法是在JDK里给相关... …… 阅读全文

Java 8 Stream

Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如... …… 阅读全文

Java 8 Optional 类

Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。类声明以下是一个java.util.Optional<T>... …… 阅读全文

Java面试二(设计模式)

基础二设计模式概要创建型模式1. 单例模式一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。2. 工厂模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 比如你和老板去饭店吃鲍鱼,直接和酒店说要鲍鱼就可以了;酒店负责采购,做鲍鱼;这样我们就不用自己做鲍鱼了,也就实现了把客户和服务分开。3. 抽... …… 阅读全文

位运算

序位运算在程序设计中非常重要,特别是有复杂运算的时候,位计算的高效率优势发挥地淋漓尽致。BigDecimal底层加减乘除运算都是运用了位运算,如果在大学区间有学到位运算符,应该重视起来,不要像作者君这样,现在要去捡起来。以下内容都是假定各位都知道位运算的情况下。加法先看一道题 给出两个整数 aa 和 bb , 求他们的和, 但不能使用 ++ 等数学运算符。 说明 ... …… 阅读全文