java8的function,Java8 Function 用法简介

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值