java supplier_JAVA 8 函数式接口--Supplier

从JDK8开始java支持函数式编程,JDK也提供了几个常用的函数式接口,这篇主要介绍Supplier接口。

文本介绍的顺序依次为:

源码介绍

使用示例

扩展类介绍

源码介绍

package java.util.function;

/**

* 供应商函数,每次调用get()方法返回一个T类型对象

*/

@FunctionalInterface

public interface Supplier {

/**

* Gets a result.

*

* @return a result

*/

T get();

}

下面来看一下具体的使用方法。

使用示例

package jdk8.function;

import java.util.UUID;

import java.util.function.Supplier;

public class SupplierDemo {

public static void main(String[] args) {

Supplier uuid = () -> UUID.randomUUID().toString();

Supplier timestamp = () -> System.currentTimeMillis() + "";

SupplierDemo supplierDemo = new SupplierDemo();

System.out.println("uuid-sessionId : " + supplierDemo.sessionId(uuid));

System.out.println("timestamp-sessionId : " + supplierDemo.sessionId(timestamp));

}

/**

* 可自义的session_id生成器

* @param supplier

* @return

*/

public String sessionId(Supplier supplier){

return supplier.get();

}

}

下面是输出结果:

uuid-sessionId : 9893eca1-a3c0-49a0-abb2-f4e8dbb0aa38

timestamp-sessionId : 1535698167233

Predicate扩展接口

类名

描述

BooleanSupplier

提供了生产boolean型返回值功能

DoubleSupplier

提供了生产double型返回值功能

IntSupplier

提供了生产int型返回值功能

LongSupplier

提供了生产long型返回值功能

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值