通过实例了解java8中的原始供应商。
什么是Java8中的原始供应商?
java.lang.function java8为不同的数据类型提供了功能接口,如整数、长、双数和布尔。
这篇文章解释了各种原始供应商和使用实例。
Java 8在java.util.function 包中引入了不同的原始供应商接口。
- 英数供应商(IntSupplier)
- LongSupplier
- DoubleSupplier
- BooleanSupplier
所有这些接口都可以用lambda表达式和方法/构造器引用来分配。
下面的Element类用于本帖的所有接口示例。
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;
}
}
java8 IntSupplier类例子
IntSupplier是一个定义在java.util.function包中的接口。
它被用作整数结果的供应商。
它有一个抽象的方法getAsInt() ,返回整数值。
import java.util.function.IntSupplier;
public class IntSupplierExample {
public static void main(String[] args) throws Exception{
IntSupplier intSupplier = ()-> 20;
System.out.println(intSupplier.getAsInt());
Element element = new Element(87,false);
IntSupplier intSupplier1 = element::getNumber;
System.out.println(intSupplier1.getAsInt());
}
}
输出。
java8 DoubleSupplier类示例
DoubleSupplier是一个定义在java.util.function包中的接口。它被用作一个双倍结果的供应者。
它有一个单一的抽象方法getAsDouble() ,返回双倍的结果。
import java.util.function.DoubleSupplier;
public class DoubleSupplierExample {
public static void main(String[] args) throws Exception{
DoubleSupplier doubleSupplier = ()-> 15;
System.out.println(doubleSupplier.getAsDouble());
Element element = new Element(14,false);
DoubleSupplier doubleSupplier1 = element::getNumber;
System.out.println(doubleSupplier1.getAsDouble());
}
}
输出。
java8 LongSupplier类示例
LongSupplier是一个定义在java.util.function中的接口,它被用作长结果的供应者。
它是一个功能接口,有一个单一的抽象方法getAsLong() ,返回长值。
import java.util.function.LongSupplier;
public class LongSupplierExample {
public static void main(String[] args) throws Exception{
LongSupplier longSupplier = ()-> 25l;
System.out.println(longSupplier.getAsLong());
Element element = new Element(24,false);
LongSupplier longSupplier1 = element::getNumber;
System.out.println(longSupplier1.getAsLong());
}
}
输出。
java8 BooleanSupplier类示例类
这个接口被用作布尔值的供应商。它只有一个抽象方法getAsBoolean返回布尔值的结果。
import java.util.function.BooleanSupplier;
public class BooleanSupplierExample {
public static void main(String[] args) throws Exception{
BooleanSupplier booleanSupplier = ()-> false;
System.out.println(booleanSupplier.getAsBoolean());
Element element = new Element(124,true);
BooleanSupplier booleanSupplier1 = element::getEnabled;
System.out.println(booleanSupplier1.getAsBoolean());
}
}
输出。
结论
在本教程中,学习了原始供应者类型--IntSupplier、LongSupplier、DoubleSupplier、BooleanSupplier功能接口的实例