它是等效的但不相同。简而言之,如果lambda表达式未捕获值,则它将是单例,可在每次调用时重复使用。
行为没有完全指定。JVM被赋予了很大的自由来实现它。当前,Oracle的JVM为每个lambda表达式创建(至少)一个实例(即不在不同的相同表达式之间共享实例),但为所有不捕获值的表达式创建单例。
你可以阅读此答案以获取更多详细信息。在那里,我不仅给出了更详细的描述,还提供了测试代码以观察当前行为。

它是等效的但不相同。简而言之,如果lambda表达式未捕获值,则它将是单例,可在每次调用时重复使用。
行为没有完全指定。JVM被赋予了很大的自由来实现它。当前,Oracle的JVM为每个lambda表达式创建(至少)一个实例(即不在不同的相同表达式之间共享实例),但为所有不捕获值的表达式创建单例。
你可以阅读此答案以获取更多详细信息。在那里,我不仅给出了更详细的描述,还提供了测试代码以观察当前行为。