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

  • 相关阅读:
    PTA乙级 1084 外观数列——20分
    越细粒度的锁越好吗?产生死锁怎么办?
    QT+OSG/osgEarth编译之四十五:osgViewer+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5核心库osgViewer)
    第六十七天 shell编程
    Hive基础使用
    VMware 16开启虚拟机电脑就蓝屏W11解决方法
    vue中列表实现漏出即曝光
    C++ Reference: Standard C++ Library reference: C Library: cwchar: wmemcpy
    Git分布式版本控制工具(一)
    AIGC创业:赌注未来,是冒险还是稳妥?
  • 原文地址:https://blog.csdn.net/Pencil_37/article/details/126317683