java8系列-05 Optional

2019-03-12

空指针异常我想是程序员见到比较多的异常啦,今天来探索的这个Optional工具类就是来处理这类问题的。用过Google Guava(后期应该会出一个系列,请持续关注)的都应该知道,Guava这套工具类库里面也有一个Optional,而且作用和今天来探索的这个java新特性是一样的。既然又是探索,那我们先打开idea,然后ctrl+鼠标左键进到optional的世界看一下吧。

源码片段

接下来我将逐行解释一下源码(像我这样给jdk源码这样加注释的怕是很少了^_^)

java8系列-04 Stream

2019-03-12

Stream英文直译为“流”,其实这里也是对文件流、集合流等各种流的操作。(虽然我们最常用在Collection集合中进行操作,但它的应用可是很广泛的)它是java8中最亮眼的特性之一,能极大的方便我们对于数据的操作,让程序员们能写出非常高效率又干净的代码。下面我们先看一个例子,从例子中进行初步认识,然后再带大家慢慢的来揭露它的神秘面纱。

Stream基础

先来感受一下Stream的神奇吧~

java8系列-03 方法的引用和注解新特性

2019-03-12

前面两篇讲了Lambdas表达式函数式接口。这一篇继续来讲java8的一些新特性 - 方法的引用和注解的新特性。

方法的引用

方法的引用可以使语言的构造更加简洁,减少冗余代码。可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用。方法引用使用一对冒号 :: 。

下面用一个类来举例,来区分它所支持的四个不同的方法引用

java8系列-02 函数式接口(Function、Consumer、Predicate、Supplier)

2019-03-12

上一章已经说了函数式接口的基本概念(java8系列-01 Lambdas 表达式)。函数式接口(Functional Interface)说白了就是只包含了一个抽象方法的接口。下面来剖析一下最常用的四类函数式接口:

++提示:本章更多的用代码来叙述,不会更多的文字。++

Function功能型函数式接口

上一章有讲到,Function接口是接收一个T类型的参数,返回一个R类型的结果。

...

java8系列-01 Lambdas 表达式

2019-03-12

Lambdas表达式是java 8的一个最重要的新特性。它允许把函数作为一个方法的参数(在一个方法中用函数来作为方法传递进去)。或者把一段代码看成是数据。

Lambdas表达式实例

基本语法如下:

(parameters) -> experssion
或
(parameters) -> {statements;}

...

javaweb自定义标签-分页功能

2018-12-09

First.编写'TagSupport'子类

package top.code666.utils;

import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 自定义分页标签