title: How does Arrays.asList(T... a) return an interface?
body: <p>I am looking at the Java API from Oracle, particularly at this method that is part of the <code>java.util.Arrays</code> class: </p>
  
  <p><code>public static &lt;T&gt; List&lt;T&gt; asList(T... a)</code></p>
  
  <p>But how is it possible that this method is returning a List object when clearly it is an interface?</p>