Почему компилятор Java 7 и Eclipse 3.8 не может скомпилировать код JDK с новым оператором ромба Java 7?

import java.util.*;

public class SimpleArrays
{
  @SafeVarargs
  public static <T> List<T> asList( T... a )
  {
    return new ArrayList<>( a );
  }
}

asList () взят из Oracles JDK реализации java.util.Arrays.

Ошибка

error: cannot infer type arguments for ArrayList<>
    return new ArrayList<>( a );
1 error

Как это может работать? Oracle использует тот же компилятор, что и мы.

10
задан Reddy 16 August 2011 в 13:28
поделиться