• Lambda表达式的简化


    Lambda表达式简化
        1.去掉所有参数类型
        注意: 
            参数类型要么都保留,要么都去掉.
    
        2.去掉圆括号"()",花括号"{}"和分号";"
        注意:
            只有一个参数时, 才可以去掉圆括号"()"
            方法体内只有一条语句时, 才可以去掉花括号"{}"和分号";"
    1. /**
    2. * Lambda表达式的简化
    3. * 1.去掉所有参数类型
    4. * 2.去掉圆括号"()",花括号"{}"和分号";"
    5. */
    6. public class DemoLambda3 {
    7. public static void main(String[] args) {
    8. // 匿名内部类
    9. Human human = new Human() {
    10. @Override
    11. public void getAge(int age) {
    12. System.out.println("I'm " + age + " years old.");
    13. }
    14. };
    15. Color color = new Color() {
    16. @Override
    17. public void getColor(int r, int g, int b) {
    18. System.out.println("I'm rgb(" + r + ", " + g + ", " + b + ")");
    19. }
    20. };
    21. human.getAge(18);
    22. color.getColor(1, 2, 3);
    23. // Lambda表达式
    24. human = (int age) -> {
    25. System.out.println("I'm " + age + " years old.");
    26. };
    27. color = (int r, int g, int b) -> {
    28. System.out.println("I'm rgb(" + r + ", " + g + ", " + b + ")");
    29. };
    30. human.getAge(3);
    31. color.getColor(10, 20, 30);
    32. /*
    33. Lambda表达式简化
    34. 1.去掉所有参数类型
    35. 注意: 参数类型要么都保留,要么都去掉.
    36. */
    37. human = (age) -> {
    38. System.out.println("I'm " + age + " years old.");
    39. };
    40. color = (r, /*int*/ g, b) -> {
    41. System.out.println("I'm rgb(" + r + ", " + g + ", " + b + ")");
    42. };
    43. human.getAge(100);
    44. color.getColor(0, 0, 0);
    45. /*
    46. Lambda表达式简化
    47. 2.去掉圆括号"()",花括号"{}"和分号";"
    48. 注意:
    49. 只有一个参数时, 才可以去掉圆括号"()"
    50. 方法体内只有一条语句时, 才可以去掉花括号"{}"和分号";"
    51. */
    52. human = age -> System.out.println("I'm " + age + " years old.");
    53. color = (r, g, b) -> {
    54. System.out.println("I'm rgb(" + r + ", " + g + ", " + b + ")");
    55. System.out.println("In other words, I am white.");
    56. };
    57. human.getAge(100);
    58. color.getColor(0, 0, 0);
    59. }
    60. }
    61. /**
    62. * 函数式接口
    63. * 抽象方法有1个参数
    64. */
    65. interface Human {
    66. void getAge(int age);
    67. }
    68. /**
    69. * 函数式接口
    70. * 抽象方法有3个参数
    71. */
    72. interface Color {
    73. void getColor(int r, int g, int b);
    74. }

  • 相关阅读:
    堆排序的筛选方法建立的初始堆
    【计网 DNS】计算机网络 DNS协议详解:中科大郑烇老师笔记 (六)
    java 数据存储结构(有序与无序)
    使用 IPSET 添加 CDN 节点 IP(IPv4/IPv6)到防火墙白名单
    cpu突然过高该怎么处理
    蓝桥杯练习题一 - 生日蜡烛(c++)
    《痞子衡嵌入式半月刊》 第 101 期
    .NET 反向代理-YARP
    DBeaver连接本地MySQL
    SAP ABAP Function Module 的动态调用方式使用方式介绍试读版
  • 原文地址:https://blog.csdn.net/Pencil_37/article/details/126317683