É equivalente, mas não idêntico. Simplificando, se uma expressão lambda não capturar valores, será um singleton que será reutilizado em todas as chamadas.
O comportamento não está exatamente especificado. A JVM recebe grande liberdade sobre como implementá-la. Atualmente, a JVM da Oracle cria (pelo menos) uma instância por expressão lambda (ou seja, não compartilha instância entre diferentes expressões idênticas), mas cria singletons para todas as expressões que não capturam valores.
Você pode ler esta resposta para obter mais detalhes. Lá, eu não apenas dei uma descrição mais detalhada, mas também testei o código para observar o comportamento atual.
Isso é coberto por The Java® Language Specification, capítulo “ 15.27.4. Avaliação em tempo de execução de expressões lambda ”
Resumido:
Essas regras visam oferecer flexibilidade às implementações da linguagem de programação Java, na medida em que:
Um novo objeto não precisa ser alocado em todas as avaliações.
Objetos produzidos por diferentes expressões lambda não precisam pertencer a diferentes classes (se os corpos forem idênticos, por exemplo).
Todo objeto produzido pela avaliação não precisa pertencer à mesma classe (variáveis locais capturadas podem estar embutidas, por exemplo).
Se uma "instância existente" estiver disponível, ela não precisará ter sido criada em uma avaliação lambda anterior (ela pode ter sido alocada durante a inicialização da classe envolvente, por exemplo).