【有书共读】Java攻略 读书笔记08

supplier接口,不包含任何静态或默认方法,只有一个抽象方法T get(),为实现supplier接口,需要提供一个不传入参数且返回泛型类型的方法。

Logger logger = Logger.getLogger();
DoubleSupplier randomSupplier = new DounbleSupplier(){
    //匿名内部类实现     @Override
    public double getAsDouble(){
        return Math.random();
    }
}

randomSupplier = () -> Math.random();
randomSupplier = Math::random;//方法引用

logger.info(randomSupplier);

DoubleSupplier接口包含的单一抽象方法为getAsDouble,它返回一个double型数据。

接口 单一抽象方法
IntSupplier int getAsInt()
DoubleSupplier double getAsDouble()
LongSupplier long getAsLong()
BooleanSupplier boolean getAsBoolean()

Supplier的一个主要用例是延迟执行。java.util.logging.Logger类定义的info方法传入Supplier,仅当日志级别控制日志消息可见时,才调用get方法。

另一个用例是标准库中的java.util.Optional类定义的orElseGet方法,同样传入Supplier.

#Java##笔记##读书笔记#
全部评论

相关推荐

求求要我吧:你教育经历放在下面干什么,而且27届还是28届啊()另外看你简历有两面,通常来说投递运营岗位一面简历就够了。另外个人总结要写也放在简历最下面,然后你奖项那里是2019年的哇哈哈,那你究竟投递的是社招还是实习?实习的话你是第几届是肯定要写出来的,社招的话你这个工作经历又太短太花了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务