java.lang.function包提供了各种原始供应者接口。 java8有不同数据类型的功能接口,如整数、长、双数和布尔。这篇文章解释了各种原始供应商和使用实例。
所有这些接口都可以用lambda表达式和方法/构造器引用来分配。
在所有的接口例子中都使用了元素类:
package org.cloudhadoop.functions;
public class Element {
private Boolean enabled;
private Integer number;
public Element(Integer number, Boolean enabled) {
this.enabled = enabled;
this.number = number;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
}
IntSupplier类
java.util.function.IntSupplier接口被用作整数结果的提供者。
它有一个抽象的方法getAsInt()返回整数值。
IntSupplier intSupplier = ()-> 20;
System.out.println(intSupplier.getAsInt());
Element element = new Element(87,false);
IntSupplier intSupplier1 = element::getNumber;
System.out.println(intSupplier1.getAsInt());
DoubleSupplier类
java.util.function.DoubleSupplier接口被用作双倍结果的供应商。它有单一的抽象方法getAsDouble()返回双倍结果。
DoubleSupplier doubleSupplier = ()-> 15;
System.out.println(doubleSupplier.getAsDouble());
Element element = new Element(14,false);
DoubleSupplier doubleSupplier1 = element::getNumber;
System.out.println(doubleSupplier1.getAsDouble());
LongSupplier类
这个接口定义在java.util.function中,被用作长结果的供应者。它有单一的抽象方法getAsLong()返回长值。
LongSupplier longSupplier = ()-> 25l;
System.out.println(longSupplier.getAsLong());
Element element = new Element(24,false);
LongSupplier longSupplier1 = element::getNumber;
System.out.println(longSupplier1.getAsLong());
BooleanSupplier类
这个接口是作为布尔值的供应者使用的。它只有一个抽象的方法getAsBoolean返回布尔值的结果。
BooleanSupplier booleanSupplier = ()-> false;
System.out.println(booleanSupplier.getAsBoolean());
Element element = new Element(124,true);
BooleanSupplier booleanSupplier1 = element::getEnabled;
System.out.println(booleanSupplier1.getAsBoolean());