title: Is Java Lambda expression is similar logic of Groovy closure?
body: <p>I'm learning about Java 8 new feature <strong>Lambda expressions</strong>. This is my &quot;HelloWorld&quot; class using Lambda expression</p>
  <pre><code>public class LambdaHelloWorld {
      interface HelloWorld {
          String sayHello(String name);
      }
  
      public static void main(String[] args) {          
           HelloWorld helloWorld = (String name) -&gt; { return &quot;Hello &quot; + name; };
           System.out.println(helloWorld.sayHello(&quot;John Doe&quot;));
      }
  }
  </code></pre>
  <p>This style is so similar to Groovy closure. This is groovy &quot;HelloWorld&quot;</p>
  <pre><code>def sayHello(name) {
          println(&quot;Hello $name!&quot;)
  }
  
  def clos = {name -&gt; sayHello(name)} 
  clos.call('John Doe')
  </code></pre>
  <p>I think these two codes are less difference between each others.Is Java Lambda expression is similar logic or style of Groovy closure?</p>