在Java Lambda表达式中,第一个括号 () 表示方法的参数列表。

详细解释
java
Runnable r = () -> System.out.println("✅ Lambda 表达式 (Java 8)");
括号的含义
() - 表示Lambda表达式所实现的抽象方法没有参数

这是因为Runnable接口的run()方法定义是:void run() - 没有参数

对应关系
#java
// 传统匿名内部类写法
Runnable r = new Runnable() {
    @Override
    public void run() {  // 这个run()方法没有参数
        System.out.println("✅ Lambda 表达式 (Java 8)");
    }
};

// Lambda表达式简化写法
Runnable r = () -> System.out.println("✅ Lambda 表达式 (Java 8)");
//        ↑ 这个括号对应run()方法的空参数列表
不同情况的括号用法
1. 无参数
#java
() -> System.out.println("无参数")
2. 单个参数(括号可选)
#java
x -> x * x                    // 可以省略括号
(x) -> x * x                  // 也可以写括号
3. 多个参数
#java
(x, y) -> x + y              // 必须用括号
4. 明确类型
#java
(int x, String y) -> x + y.length()  // 有类型时必须用括号
完整示例
java
// 无参数
Runnable task1 = () -> System.out.println("执行任务");

// 一个参数
Consumer<String> printer = (msg) -> System.out.println(msg);

// 多个参数
BinaryOperator<Integer> adder = (a, b) -> a + b;

// 带类型声明
Comparator<String> comparator = (String s1, String s2) -> s1.compareTo(s2);
总结: 第一个括号 () 表示Lambda表达式所实现的方法的参数列表,在这个例子中为空,因为Runnable.run()方法没有参数。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐