找到关于 Java 8 的4330 篇文章

如何在 Java 中使用 lambda 表达式初始化数组?

raja
更新于 2020年7月11日 07:31:06

2K+ 次浏览

数组是大小固定的相同类型元素的集合。lambda 表达式也可用于在 Java 中初始化数组。但是不能使用泛型数组初始化。示例 1接口 Algebra {    int operate(int a, int b); } public class LambdaWithArray1 {    public static void main(String[] args) {       // 在 Lambda 表达式中初始化数组       Algebra alg[] = new Algebra[] {                                         (a, b) -> a+b,             ... 阅读更多

如何在 Java 的 lambda 表达式中使用 return 语句?

raja
更新于 2020年7月11日 07:31:48

11K+ 次浏览

return 语句在 lambda 表达式中不是表达式。我们必须将语句括在花括号 ({}) 中。但是,我们不必将 void 方法调用括在花括号中。在 lambda 表达式中使用 return 语句的方法的返回类型必须是函数式接口。示例 1public class LambdaReturnTest1 {    interface Addition {       int add(int a, int b);    }    public static Addition getAddition() {       return (a, b) -> a + b; // lambda 表达式 return 语句    }    public static void main(String args[]) {       System.out.println("The ... 阅读更多

如何在 Java 中使用方法引用实现动作监听器?

raja
更新于 2020年7月11日 07:11:00

549 次浏览

在 Java 8 中,lambda 表达式接受匿名函数作为参数。在提供匿名方法的情况下,我们也可以使用 "::" 符号传递现有方法的引用。方法引用使我们能够使用现有方法做同样的事情。我们还可以使用静态方法引用为 JButton 实现动作监听器,并使用类名引用。语法:: 方法名;示例import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MethodReferenceButtonListenerTest extends JFrame {    private JButton button;    public MethodReferenceButtonListenerTest() {       setTitle("Method Reference Button Listener");       button = new JButton("Method Reference");       ... 阅读更多

Java 中 Lambda 表达式和方法引用的区别?

raja
更新于 2020年7月11日 06:54:44

7K+ 次浏览

Lambda 表达式是一个匿名方法(没有名称的方法),用于提供函数式接口定义的方法的内联实现,而方法引用类似于 lambda 表达式,它引用方法而不执行它。箭头(->)运算符可用于连接 lambda 表达式中的参数和功能,而 (::) 运算符在方法引用中将方法名称与对象或类的名称分开。Lambda 表达式的语法 ([逗号分隔的参数列表]) -> {主体} 方法引用的语法 :: 示例import java.util.*; public class LambdaMethodReferenceTest {    public static void main(String args[]) { ... 阅读更多

如何在 Java 中使用方法引用实现任意对象的实例方法?

raja
更新于 2020年7月11日 06:20:53

839 次浏览

方法引用是 Java 8 中的一个新特性,它与 Lambda 表达式相关。它允许我们引用构造函数或方法而不执行它们。方法引用和 lambda 表达式类似,因为它们都需要一个目标类型,该类型包含一个兼容的函数式接口。语法类 :: 实例方法名示例import java.util.*; import java.util.function.*; public class ArbitraryObjectMethodRefTest {    public static void main(String[] args) {       List persons = new ArrayList();       persons.add(new Person("Raja", 30));       persons.add(new Person("Jai", 25));       persons.add(new Person("Adithya", 20));       persons.add(new Person("Surya", 35));       persons.add(new ... 阅读更多

如何在 Java 中使用 lambda 表达式迭代 List 和 Map 的元素?

raja
更新于 2020年7月11日 06:15:14

11K+ 次浏览

lambda 表达式是实现函数式接口的内联代码,无需创建匿名类。在 Java 8 中,forEach 语句可以与 lambda 表达式一起使用,这将遍历 Map 简化为单个语句,并迭代列表的元素。forEach() 方法在 Iterable 接口中定义,并接受 lambda 表达式作为参数。示例(使用 Lambda 表达式的 List)import java.util.*; public class ListIterateLambdaTest {    public static void main(String[] argv) {       List countryNames = new ArrayList();       countryNames.add("India");       countryNames.add("England");       countryNames.add("Australia");     ... 阅读更多

使用 Java 中带有 Lambda 的 map() 方法将对象转换为另一种类型?

raja
更新于 2020年7月11日 06:13:04

8K+ 次浏览

在 Java 8 中,我们可以使用 Stream 对象的 map() 方法和 lambda 表达式将对象转换为另一种类型。map() 方法是流对象中的中间操作,因此我们需要一个终端方法来完成流。语法Stream map(Function

Java 中 Lambda 表达式的类型推断?

raja
更新于 2020年7月11日 06:05:19

895 次浏览

类型推断是指任何表达式的类型。例如,编译器可以自动理解方法的返回类型或参数类型。由于 Java 已经知道函数式接口的单个抽象方法的预期参数类型,因此可以省略参数列表中的类型。语法 (var1, var2 …) -> { 方法体 } 在下面的示例中,我们可以按其最后一个字符对 String[] 数组进行排序。示例import java.util.Arrays; public class TypeInferencingLambdaTest {    public static void main(String[] args) {       String[] names = {"Raja", "Jai", "Adithya", "Surya", "Chaitanya", "Ravi", "Krishna"};       Arrays.sort(names, (s1, ... 阅读更多

在 Java 中,是否必须用 @FunctionalInterface 注解标记函数式接口?

raja
更新于 2020年7月10日 14:11:42

2K+ 次浏览

仅定义了一个抽象方法的接口称为函数式接口。不必使用 @FunctionalInterface 注解标记函数式接口,编译器不会抛出任何错误。但最好使用 @FunctionalInterface 注解,以避免意外添加额外的方法。如果用 @FunctionalInterface 注解的接口有多个抽象方法,则会抛出编译时错误。语法@FunctionalInterface interface interface_name {    // 只有一个抽象方法声明 }示例@FunctionalInterface interface Shape {    void printArea(int x); } public class SquareTest {    public static void main (String args[]) {       Shape square ... 阅读更多

如何在 Java 中调试 lambda 表达式?

raja
更新于 2020年7月10日 14:09:46

2K+ 次浏览

lambda 表达式由两部分组成,一部分是参数,另一部分是代码或表达式。这两部分由箭头运算符 "->" 分隔。我们可以使用不同的 IDE,如 Netbeans、IntelliJ 和 Eclipse 来调试 Java 中的 lambda 表达式。总是可以创建多行 lambda 表达式并使用 print 语句来显示变量的值。调试器还可以提供有关 Java 程序状态的附加信息。它允许在调试器执行时修改某些变量。语法 (参数) -> 表达式   或 (参数) -> { 语句; } 示例import java.util.*; public class LambdaDebugTest { ... 阅读更多

广告