Java8 Function 用法简介
FunctionTest
import java.util.function.Function;
/**
* 执行结果是输出: 2/4
*
* 解析:
*
* 1. Function test ,相当于一个待实现的接口,告诉你入参是 Numbers 类型 (上例子中是一个自定义的实体类),出参是Integer 类型。然后业务逻辑是怎样,可以自己实现。
*
* 2. Function test1 = i -> i.getN1() - i.getN2(); 实现了Functoin 的接口,业务逻辑是 Numbers 类型的一个实例,它两个字段相减。
*
* 3. calculate(test1, 2, 2) 调用。
*
* 好处就是解耦业务逻辑。
*/
public class FunctionTest {
public static void main(String[] args) {
new FunctionTest().test();
}
public void test() {
Function test1 = i -> i.getN1() - i.getN2();
Function test2 = i -> i.getN1() * i.getN2();
System.out.println(calculate(test1, 2, 2));
System.out.println(calculate(test2, 2, 2));
}
public static Integer calculate(Function test, Integer number1, Integer number2) {
Numbers n = new Numbers();
n.setN1(number1);
n.setN2(number2);
return test.apply(n);
}
}
class Numbers {
private Integer n1;
private Integer n2;
private Integer n3;
public Integer getN1() {
return n1;
}
public void setN1(Integer n1) {
this.n1 = n1;
}
public Integer getN2() {
return n2;
}
public void setN2(Integer n2) {
this.n2 = n2;
}
public Integer getN3() {
return n3;
}
public void setN3(Integer n3) {
this.n3 = n3;
}
}
Java8 Function 用法简介 相关文章
HTL Option@的一些用法
参考视频:AEM Sightly #4 | Include files and resources using data-sly-include and data-sly-resource in sightly @ 目录格式: +htlsightly +files -include3.html -include4.html -htlsightly.html(this page) prependPath 进到/files下找include3.htm
vue-color 颜色选择器插件用法介绍
npm i vue-color div divcolor-picker/div pChrome/p chrome-picker v-model="colors" / pSketch/p sketch-picker v-model="colors" / pPhotoshop/p photoshop-picker v-model="colors" / pMaterial/p material-picker v-model="colors" / pSlider/p slider-
SQL中的case when then else end用法
一:简单用法: 1.第一种写法: SELECT s.s_id, s.s_name, s.s_sex, CASEWHEN s.s_sex = '1' THEN '男'WHEN s.s_sex = '2' THEN '女'ELSE '其他'END as sex, s.s_age, s.class_idFROM t_b_student sWHERE 1 = 1 2.第二种写法 SELECT s.s_id, s.s_name, s.s_s
Java8 Stream流式编程,极大解放你的生产力
java8自带常用的函数式接口 PredicateT boolean test(T t) 传入一个参数返回boolean值 ConsumerT void accept(T t) 传入一个参数,无返回值 FunctionT,R R apply(T t) 传入一个参数,返回另一个类型 准备数据 //计算机俱乐部private static ListStudent comp
java8 :: 用法 (JDK8 双冒号用法
java8 :: 用法 (JDK8 双冒号用法) 特性 jdk8中使用了::的用法。就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下,双冒号运算就是Java中的[方法引用],[方法引用]的格式是: 类名::方法名 注意此处没有()。 案例: 表
charles-rewrite用法详讲解
Rewrite 功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。 可以重写接口所有元素的内容: header 、 host 、 url 、 path 、 query param 、 response status 、 body . 具体操作如下: 1.点击Charles菜单栏 Tools 中的 Rewrite , image.
Less.js用法
命令行用法 使用命令行工具将 .less 文件编译成 .css 文件。 当心!如果你不喜欢使用命令行,请了解更多有关 Less 图形界面工具 的信息。 安装 通过 npm 安装 npm install less -g -g 参数表示将 lessc 命令安装到全局环境。对于特定版本(或 tag),你可以
Linux date命令的用法
Linux date命令的用法(转) 1、命令:date 2、命令功能:date 可以用来显示或设定系统的日期与时间。 3、命令参数 -d字符串:显示字符串所指的日期与时间。字符串前后必须加上双引号; -s字符串:根据字符串来设置日期与时间。字符串前后必须加上双引号; -
IIFE—立即调用的函数表达式(Immediately Invoked Function Expression)
IIFE类似于函数声明,但由于被包含在括号中,所以会被解释为函数表达式。紧跟在第一组括号后面的第二组括号会立即调用前面的函数表达式。 1 (function() {2 // 块级作用域3 })() 使用IIFE可以模拟块级作用域,即在一个函数表达式内部声明变量,然后立即调用
Java8对List集合对象某个字段进行排序
一、准备工作 1、声明一个对象 class User{ private Integer userId; private String userName; public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getUserName() { return us