找到关于 Java 8 的4330 篇文章
202 次浏览
DoubleToLongFunction
是 Java 8 中引入的 `java.util.function` 包中的内置函数式接口。此函数式接口接受一个双精度值参数并产生一个长整数值结果。DoubleToLongFunction
接口可以用作 lambda 表达式或方法引用的赋值目标。它只包含一个抽象方法:`applyAsLong()`。语法`@FunctionalInterface` `public interface DoubleToLongFunction { long applyAsLong(double value) }`示例`import java.util.function.DoubleToLongFunction; public class DoubleToLongFunctionTest { public static void main(String args[]) { double dbl = 30.1212; DoubleToLongFunction castToLong = (dblValue) -> (long) dblValue; // lambda 表达式 System.out.println(castToLong.applyAsLong(dbl)); dbl = 77.9212; DoubleToLongFunction roundToLong = Math::round; ... 阅读更多
255 次浏览
DoubleToIntFunction
是在 Java 8 版本中引入的 `java.util.function` 包中定义的函数式接口。此函数式接口接受一个双精度值参数并产生一个整数值结果。DoubleToIntFunction
接口可以用作 lambda 表达式或方法引用的赋值目标。它只包含一个抽象方法:`applyAsInt()`。语法`@FunctionalInterface interface DoubleToIntFunction { int applyAsInt(double value) }`示例`import java.util.function.DoubleToIntFunction; public class DoubleToIntFunctionTest { public static void main(String args[]) { DoubleToIntFunction test = doubleVal -> { // lambda 表达式 int intVal = (int) doubleVal; return intVal; }; ... 阅读更多
181 次浏览
ToLongBiFunction
是 `java.util.function` 包中的内置函数式接口。此函数式接口接受两个引用类型参数作为输入并产生一个长整数值结果。ToLongBiFunction
接口可以用作 lambda 表达式或方法引用的赋值目标,并且只包含一个抽象方法:`applyAsLong()`。语法`@FunctionalInterface interface ToLongBiFunction { long applyAsLong(T t, U u); }`示例`import java.util.*; import java.util.function.ToLongBiFunction; public class ToLongBiFunctionTest { public static void main(String[] args) { ToLongBiFunction getMobileNum = (map, value) -> { // lambda if(map != null && !map.isEmpty()) { if(map.containsKey(value)) { ... 阅读更多
211 次浏览
ToLongFunction
是在 `java.util.function` 包中定义的函数式接口。此函数式接口接受一个引用类型作为输入并产生一个长整数值结果。ToLongFunction
接口可以用作 lambda 表达式或方法引用的赋值目标。它只包含一个抽象方法:`applyAsLong()`。语法`@FunctionalInterface interface ToLongFunction { long applyAsLong(T value); }`示例`import java.util.*; import java.util.function.ToLongFunction; public class ToLongFunctionTest { public static void main(String args[]) { List list = new ArrayList(); list.add("11"); list.add("22"); list.add("33"); list.add("44"); list.add("55"); ToLongFunction function = (String item) -> Long.valueOf(item); // ... 阅读更多
218 次浏览
ToDoubleBiFunction
是在 `java.util.function` 包中定义的函数式接口。此函数式接口接受两个参数作为输入并产生一个双精度值结果。ToDoubleBiFunction
接口可以用作 lambda 表达式或方法引用的赋值目标。此接口只包含一个抽象方法:`applyAsDouble()`,并且不包含任何默认或静态方法。语法`@FunctionalInterface interface ToDoubleBiFunction { double applyAsDouble(T t, U u); }`示例`import java.util.function.ToDoubleBiFunction; public class ToDoubleBiFunctionTest { public static void main(String args[]) { ToDoubleBiFunction test = (t, u) -> t / u; // lambda 表达式 System.out.println("The division of t and u is: " + test.applyAsDouble(50, ... 阅读更多
207 次浏览
ToIntBiFunction
是 `java.util.function` 包中的内置函数式接口。此接口接受两个参数作为输入并产生一个整数值结果。ToIntBiFunction
接口可以用作 lambda 表达式或方法引用的赋值目标。它只包含一个抽象方法:`applyAsInt()`,并且不包含任何默认或静态方法。语法`@FunctionalInterface interface ToIntBiFunction { int applyAsInt(T t, U u); }`示例`import java.util.function.ToIntBiFunction; public class ToIntBiFunctionTest { public static void main(String args[]) { ToIntBiFunction test = (t, u) -> t * u; System.out.println("The multiplication of t and u is: " + test.applyAsInt(10, 7)); System.out.println("The multiplication of t and u is: " ... 阅读更多
939 次浏览
Map 接口实现 Collection 接口,提供 map 数据结构的功能。Map 不包含任何重复键,每个键都与单个值关联。我们可以使用与它们关联的键来访问和修改值。在下面的两个示例中,我们可以使用 lambda 表达式对 Map 进行键值排序。根据键排序 Map 的示例`import java.util.*; import java.util.stream.*; public class MapSortUsingKeyTest { public static void main(String args[]) { // 根据键排序 Map Map map = new HashMap(); ... 阅读更多
167 次浏览
LongUnaryOperator
是 `java.util.function` 包中的函数式接口。此函数式接口接受单个长整数值操作数并产生长整数值结果。LongUnaryOperator
接口可以用作 lambda 表达式和方法引用的赋值目标。它包含一个抽象方法:`applyAsLong()`,一个静态方法:`identity()` 和两个默认方法:`andThen()` 和 `compose()`。语法`@FunctionalInterface public interface LongUnaryOperator long applyAsLong(long operand); }`示例`import java.util.function.LongUnaryOperator; public class LongUnaryOperatorTest { public static void main(String args[]) { LongUnaryOperator getSquare = longValue -> { // lambda long result = longValue * longValue; System.out.println("Getting square: " + result); ... 阅读更多
712 次浏览
Lambda 表达式的封闭作用域中定义的变量可以在 Lambda 表达式内访问。Lambda 表达式可以访问封闭类中定义的实例变量、静态变量和方法。它还可以访问“this”变量(隐式和显式),该变量可以是封闭类的实例。Lambda 表达式还可以设置实例变量或静态变量的值。示例接口 SimpleInterface { int func(); } public class SimpleLambdaTest { static int x = 50; public static void main(String[] args) { SimpleInterface test = () -> x; // 访问静态变量 ... 阅读更多
668 次浏览
方法引用是 Lambda 表达式中的一种方式,用于引用方法而不执行它。在 Lambda 表达式的正文部分,如果与函数式接口兼容,我们可以调用另一个方法。我们还可以使用方法引用捕获“this”和“super”关键字。在下面的两个示例中,我们可以使用方法引用和“this”以及“super”关键字来创建一个线程。 “this”关键字示例public class MethodRefThisTest { public void runBody() { for(int i = 1; i < 10; i++) { System.out.println("Square of " + i + " ... 阅读更多