JDK7: путаница в синтаксисе логического вывода - PullRequest
8 голосов
/ 02 ноября 2010

Попробуйте скомпилировать следующий код в JDK7:

import java.nio.file.*;

public final class _DiamondSyntaxErrors {
  public interface InterfaceA<T> {
  }

  public abstract static class ClassA<T>
      implements InterfaceA<T> {
    protected ClassA() {
    }
  }

  public static void main(String... args) {
    // no error
    InterfaceA<Path> classA = new ClassA<>() {
    };

    // error: cannot infer type arguments for SimpleFileVisitor<>
    FileVisitor<Path> visitor = new SimpleFileVisitor<>() {
    };
  }
}

Почему не работает второе использование синтаксиса diamond?

В чем большая разница с первым использованием?

1 Ответ

5 голосов
/ 11 ноября 2010

Подано отчет об ошибке .
Кто-то еще подал аналогичный отчет об ошибке с тем же примером;)
Этобыл исправлен ( здесь ).

...