如何在 Java 中实现 DoubleFunction使用 lambda 表达式?
DoubleFunction<R> 是一个内置函数化接口,在java.util.function 包中定义。此接口接受一个双值参数作为输入,并返回类型为 R 的值。由于这是一个函数化接口,因此可用作lambda 表达式或方法引用的赋值目标。DoubleFunction<R> 接口仅有一个抽象方法:apply()。
语法
@FunctionalInterface
public interface DoubleFunction<R> {
R apply(double value);
}示例
import java.util.function.DoubleFunction;
public class DoubleFunctionTest {
public static void main(String[] args) {
DoubleFunction<String> getGrade = marks -> { // lambda expression
if(marks > 90 && marks <= 100) {
return "A";
}
else if(marks > 70 && marks <= 90) {
return "B";
}
else if(marks > 50 && marks <= 70) {
return "C";
}
else {
return "D";
}
};
double input = 95;
System.out.println("Input Marks: " + input);
String grade = getGrade.apply(input);
System.out.println("Grade : "+ grade + "
");
input = 85;
System.out.println("Input Marks: " + input);
System.out.println("Grade : " + getGrade.apply(input) + "
");
input = 67;
System.out.println("Input Marks: " + input);
System.out.println("Grade : " + getGrade.apply(input) + "
");
input = 49;
System.out.println("Input Marks: " + input);
System.out.println("Grade : " + getGrade.apply(input));
}
}输出
Input Marks: 95.0 Grade : A Input Marks: 85.0 Grade : B Input Marks: 67.0 Grade : C Input Marks: 49.0 Grade : D
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP