• 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. }

  • 相关阅读:
    thonny运行esp32项目时出现以下情况
    408必备算法DAY1:快速_归并排序、折半查找
    springboot实现ACL+RBAC权限体系
    【OpenCV】在 Mac OS 上使用 EmguCV
    4、建造者模式
    一般cpu的运算执行逻辑简化说明
    浏览器和nodejs事件循环(Event Loop)区别
    爽爆!阿里腾讯都在传的MySQL精华手册,GitHub标星89K
    HT for Web (Hightopo) 使用心得(1)- 基本概念
    深入了解移动端适配的方案
  • 原文地址:https://blog.csdn.net/Pencil_37/article/details/126317683