gpt4 book ai didi

Java BooleanSupplier函数接口示例

转载 作者:知者 更新时间:2024-03-12 08:01:24 25 4
gpt4 key购买 nike

本文将介绍 BooleanSupplier 示例。 BooleanSupplier 是 Java 8 在 java.util.function 包下引入的功能接口。 BooleanSupplierSupplier 功能接口的布尔生成原始特化。 BooleanSupplier 的函数方法是 getAsBoolean(),它返回布尔结果。从 Java 文档中找到 BooleanSupplier 结构。

@FunctionalInterface
public interface BooleanSupplier {
    boolean getAsBoolean();
}

BooleanSupplier 可以使用 lambda 表达式和方法引用来实例化。
在这里,我们将详细介绍在我们的应用程序中使用 BooleanSupplier

使用 Lambda 表达式

找到使用 lambda 表达式实例化 BooleanSupplier 的代码。
BooleanSupplierWithLE.java

package com.concretepage;
import java.time.LocalDate;
import java.util.function.BooleanSupplier;
public class BooleanSupplierWithLE {
  public static void main(String[] args) {
      BooleanSupplier dt = () -> LocalDate.now().isLeapYear();
      System.out.println(dt.getAsBoolean());

      BooleanSupplier bs = () ->  "my_username".length() > 5;
      System.out.println(bs.getAsBoolean());      
      
      BooleanSupplier evenBs = () -> {
    	int num = 16;
    	if (num % 2 == 0) {
    	  return true;
    	}
    	return false;
      };
      System.out.println(evenBs.getAsBoolean());  
  }
}

输出

true
true
true

使用方法引用

使用方法引用找到实例化 BooleanSupplier 的代码。
BooleanSupplierWithMR.java

package com.concretepage;
import java.util.function.BooleanSupplier;
public class BooleanSupplierWithMR {
  public static void main(String[] args) {
	BooleanSupplier bs1 = AppUtil::isDataBaseUp;
	System.out.println(bs1.getAsBoolean());

	BooleanSupplier bs2 = AppUtil::isInternetUp;
	System.out.println(bs2.getAsBoolean());	
  }
}

class AppUtil {
  public static boolean isDataBaseUp() {
	return true;
  }
  public static boolean isInternetUp() {
	return false;
  }
}

输出

true
false

作为方法参数传递

在这里,我们将 BooleanSupplier 作为方法参数传递。
WithMethodParameter.java

package com.concretepage;
import java.util.Random;
import java.util.function.BooleanSupplier;
import java.util.stream.Stream;
public class WithMethodParameter {
  public static void main(String[] args) {
	int num = 11;
	String msg = getMsg(() -> num % 2 == 1);
	System.out.println(msg);

	System.out.println("--- With Stream.generate() ---");
	Stream<Boolean> stream = Stream.generate(() -> new Random().nextBoolean()).limit(5);
	stream.forEach(b -> System.out.println(b));
  }

  static String getMsg(BooleanSupplier oddBs) {
	if (oddBs.getAsBoolean()) {
	  return "Odd number";
	}
	return "Even number";
  }
}

输出

Odd number
--- With Stream.generate() ---
true
false
true
false
true

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com