Java8原始供应商实例|功能接口教程

117 阅读2分钟

通过实例了解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功能接口的实例