"-6ren"> "-需要帮助理解 Java 中的符号 ->。 Google 和 Stack Overflow 搜索均未返回任何结果。有人可以分享一些链接以了解其工作原理或解释以下代码示例: @SpringBootAppl-6ren">
gpt4 book ai didi

java - 需要帮助理解 Java 中的符号 "->"

转载 作者:行者123 更新时间:2023-11-29 06:57:48 24 4
gpt4 key购买 nike

需要帮助理解 Java 中的符号 ->。 Google 和 Stack Overflow 搜索均未返回任何结果。有人可以分享一些链接以了解其工作原理或解释以下代码示例:

@SpringBootApplication
public class Application {

@Bean
CommandLineRunner commandLineRunner(PersonRepository personRepository) {
return args -> {
Arrays.asList("Phil", "Josh").forEach(name ->
personRepository.save(new Person(name, (name + "@email.com").toLowerCase()))
);
personRepository.findAll().forEach(System.out::println);
};
}

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

最佳答案

Java 8 支持 Lambda 表达式。

lambda 表达式具有以下语法特征。

            parameter -> expression body.

考虑以下示例

   //with type declaration
MathOperation addition = (int a, int b) -> a + b;

//with out type declaration
MathOperation subtraction = (a, b) -> a - b;

//with return statement along with curly braces
MathOperation multiplication = (int a, int b) -> { return a * b; };
//without return statement and without curly braces
MathOperation division = (int a, int b) -> a / b;

System.out.println("10 + 5 = " + tester.operate(10, 5, addition));
System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));
System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));
System.out.println("10 / 5 = " + tester.operate(10, 5, division));

引用Lamba expressions Java8

关于java - 需要帮助理解 Java 中的符号 "->",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31266008/

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