ToIntFunction接口源码理解

35 篇文章 0 订阅
34 篇文章 0 订阅


前言

本文章帮助大家对ToIntFunction接口的理解。


一、概述

ToIntFunction意为转整型函数式。顾名思义,提供单个参数的有整型结果的函数的接口。它是Function接口的给定结果类型的一个“特例化”(由于Function的泛型不能为基础类型int,故有此接口)。参考Function接口。

它是一个函数式接口,它可作为一个单个参数的有整型结果lambda表达式的接口类型。

二、源码理解

package java.util.function;
import java.util.function.ToIntFunction;

使用ToIntFunction接口时,需引入此包。

ToIntFunction接口

public interface ToIntFunction<T> { /*...*/ }

使用接口时传入泛型T,为函数式的参数类型。

ToIntFunction方法

applyAsInt

int applyAsInt(T value);

重点:将参数value应用于此方法,返回一个整型类型的结果,即提供函数逻辑。通常可以这样使用:

Stream.of("a", "aa", "aaa").mapToInt(new ToIntFunction<String>() {
    @Override
    public int applyAsInt(String s) {
        return s.length();
    }
}).forEach(new IntConsumer() {
    @Override
    public void accept(int l) {
        System.out.println(l);
    }
});

以下为精简写法:

Stream.of("a", "aa", "aaa").mapToInt(s -> s.length()).forEach(l -> System.out.println(l));
Stream.of("a", "aa", "aaa").mapToInt(String::length).forEach(System.out::println);

例子中程序最终打印长度“1”、“2”、“3”。参考Stream接口的IntStream mapToInt(ToIntFunction<? super T> mapper)方法。


总结

新人源码理解,望大家多多指点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值