【处理基本数据类型的功能型接口】
1,int,double,long的基本的功能型接口
接口名 | 抽象方法 | 概要 |
---|---|---|
IntFunction<R> | R apply(int value) | 实现方法接收int值作为参数,并返回R作为结果 |
IntConsumer | void accept(int value) | 实现方法接收int值作为参数,不返回结果 |
IntPredicate | boolean test(int value) | 实现方法接收int值作为参数,并返回boolean值作为结果 |
IntSupplier | int getAsInt() | 实现方法接收不接收任何参数,并返回int值作为结果 |
IntUnaryOperator | int applyAsInt(int operand) | 实现方法接收int值作为参数,并返回int值作为结果。 |
IntBinaryOperator | int 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值作为结果 |
IntToDoubleFunction | doublie applyAsDouble(int value) | 实现方法接收int值作为参数,并返回double值作为结果。 |
IntToLongFunction | long applyAsLong(int value) | 实现方法接收int值作为参数,并返回long值作为结果。 |
ObjIntConsumer | void 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
0.09993766528832893