Lambda_02 Lambda实现 有参、无参、多参、有无返回值函数

不念不忘少年蓝@ 2022-12-17 05:20 276阅读 0赞

Lambda 无参、有参、有返回值、无返回值

  1. public class Lambda03 {
  2. public static void main(String[] args) {
  3. /** * 一个String入参 */
  4. LambdaInterface31 lambdaInterface31 = (String str) -> System.out.println("welcome:" + str);
  5. lambdaInterface31.fun("Lambda.");
  6. /** * 两个String入参 */
  7. LambdaInterface32 lambdaInterface32 = (String name, int age) -> System.out.println(name + "今年" + age + "岁。");
  8. lambdaInterface32.fun("小明", 3);
  9. /** * 两个int入参 带返回值 */
  10. LambdaInterface33 lambdaInterface33 = (int x, int y) -> {
  11. int sum = x + y;
  12. return sum;
  13. };
  14. int sum = lambdaInterface33.sum(2, 3);
  15. System.out.println("2+3="+sum);
  16. /** * 无参数有返回值 */
  17. LambdaInterface34 lambdaInterface34 = () ->{
  18. System.out.println("无参数有返回值");
  19. return "无参数有返回值";
  20. };
  21. lambdaInterface34.fun();
  22. }
  23. }
  24. interface LambdaInterface31 {
  25. public void fun(String str);
  26. }
  27. interface LambdaInterface32 {
  28. public void fun(String name, int age);
  29. }
  30. interface LambdaInterface33 {
  31. public int sum(int x, int y);
  32. }
  33. interface LambdaInterface34 {
  34. public String fun();
  35. }

输出结果:

  1. welcome:Lambda.
  2. 小明今年3岁。
  3. 2+3=5
  4. 无参数有返回值

函数一个参数或实现的函数体只有一行代码时函数可以简写

  1. /** * 一个String入参 */
  2. LambdaInterface31 lambdaInterface31 = (String str) -> System.out.println("welcome:" + str);
  3. lambdaInterface31.fun("Lambda.");
  4. /** * 一个String入参 * 简写 省略String */
  5. LambdaInterface31 lambdaInterface311 = (str) -> System.out.println("welcome:" + str);
  6. lambdaInterface311.fun("Lambda311.");
  7. /** * 一个String入参 * 简写 省略String 和 () */
  8. LambdaInterface31 lambdaInterface312 = str -> System.out.println("welcome:" + str);
  9. lambdaInterface312.fun("Lambda312.");

输出结果:

  1. welcome:Lambda.
  2. welcome:Lambda311.
  3. welcome:Lambda312.

发表评论

表情:
评论列表 (有 0 条评论,276人围观)

还没有评论,来说两句吧...

相关阅读