Java Lambda(6)(Lambda完结)

6 篇文章 0 订阅


【处理基本数据类型的功能型接口】


1,int,double,long的基本的功能型接口

int型功能型接口
接口名抽象方法概要
IntFunction<R>R apply(int value)实现方法接收int值作为参数,并返回R作为结果
IntConsumervoid accept(int value)实现方法接收int值作为参数,不返回结果
IntPredicateboolean test(int value)实现方法接收int值作为参数,并返回boolean值作为结果
IntSupplierint getAsInt()实现方法接收不接收任何参数,并返回int值作为结果
IntUnaryOperatorint applyAsInt(int operand)实现方法接收int值作为参数,并返回int值作为结果。
IntBinaryOperatorint applyAsInt(int left,int right)实现方法接收2个int值作为参数,并返回int值作为结果。










LambdaSample13.java

import java.util.Arrays;
import java.util.List;
import java.util.function.IntBinaryOperator;
import java.util.function.IntConsumer;
import java.util.function.IntFunction;
import java.util.function.IntPredicate;
import java.util.function.IntSupplier;
import java.util.function.IntUnaryOperator;

public class LambdaSample13 {

	public static void main(String[] args) {
		IntFunction<String[]> iFunc1 = String[]::new;
		System.out.println(iFunc1.apply(5).length);

		IntConsumer iCon1 = System.out::println;
		iCon1.accept(10);

		IntPredicate iPre1 = i -> i < 10;
		System.out.println(iPre1.test(5));

		List<Integer> list = Arrays.asList(1, 2, 3);
		IntSupplier iSup1 = () -> list.get(0);
		System.out.println(iSup1.getAsInt());

		IntUnaryOperator iuOpe1 = i -> i * 10;
		System.out.println(iuOpe1.applyAsInt(5));

		IntBinaryOperator ibOpe1 = (a, b) -> a * b;
		System.out.println(ibOpe1.applyAsInt(2, 9));
	}

}

输出:

5
10
true
1
50
18


2,int,double,long固有的功能型接口

根据不同的数据类型返回基本类型结果的功能型接口
接口名抽象方法概要
ToIntFunction<T>int applyAsInt(T value)实现方法接收T作为参数,并返回int值作为结果
ToIntBiFunction<T,U>int applyAsInt(T t,U u)实现方法接收T和U作为参数,并返回int值作为结果
IntToDoubleFunctiondoublie applyAsDouble(int value)实现方法接收int值作为参数,并返回double值作为结果。
IntToLongFunctionlong applyAsLong(int value)实现方法接收int值作为参数,并返回long值作为结果。
ObjIntConsumervoid accept(T t,int value)实现方法接收T和int值作为参数,不返回结果












LambdaSample14.java

import java.util.function.IntToDoubleFunction;
import java.util.function.ToIntFunction;

public class LambdaSample14 {

	public static void main(String[] args) {

		ToIntFunction<String> obj1 = (String s) -> {
			return s.length();
		};
		System.out.println(obj1.applyAsInt("world!"));

		IntToDoubleFunction obj2 = (int i) -> {
			return Math.random();
		};
		System.out.println(obj2.applyAsDouble(10));

	}

}

输出:
6
0.09993766528832893

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值