title: What does the arrow operator, '->', do in Java?
body: <p>While hunting through some code I came across the arrow operator, what exactly does it do? I thought Java did not have an arrow operator.</p>
  
  <pre><code>return (Collection&lt;Car&gt;) CollectionUtils.select(listOfCars, (arg0) -&gt; {
          return Car.SEDAN == ((Car)arg0).getStyle();
  });
  </code></pre>
  
  <p><em><strong>Details</strong>: Java 6, Apache Commons Collection, IntelliJ 12</em> </p>
  
  <p><em><strong>Update/Answer:</strong> It turns out that IntelliJ 12 supports Java 8, which supports lambdas, and is "folding" Predicates and displaying them as lambdas. Below is the "un-folded" code.</em></p>
  
  <pre><code>return (Collection&lt;Car&gt;) CollectionUtils.select(listOfCars, new Predicate() {
      public boolean evaluate(Object arg0) {
          return Car.SEDAN == ((Car)arg0).getStyle();
      }
  });
  </code></pre>