Ошибка компиляции вывода типа в Eclipse с Java8, но не с Java7

Приведенный ниже фрагмент кода не компилируется в Eclipse Luna с jdk 1.8.0_05. Eclipse-компилятор говорит: Несоответствие типов: невозможно преобразовать целое число в длинное

Хотя он компилируется в Luna с jdk 1.7, а также компилируется с использованием jdk 1.8 при вызове из командной строки. Может кто-нибудь помочь мне определить, что может быть не так? Затмение JDK?

Код работает в: http://www.tryjava8.com/

public class TestJava8Issue {

    public static final int CORE_POOL_SIZE = Math.max(Runtime.getRuntime().availableProcessors() / 2, 2);
    public static final int KEEP_ALIVE_TIME = 60; // seconds

    TestJava8Issue(final int size, final long ttl){
        System.out.println("size: " + size + " " + " ttl: " + ttl);
    }

    public static void main(String[] args) {
        new TestJava8Issue(CORE_POOL_SIZE, get(KEEP_ALIVE_TIME));
    }

    public static <T> T get(T value) {
        return value;
    }
}

Инструменты разработки Eclipse Java
Версия: 3.10.0.v20140501-0200
Идентификатор сборки: I20140501-0200

Java-версия "1.8.0_05"
Java (TM) SE Runtime Environment (сборка 1.8.0_05-b13)
Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 25.5-b02, смешанный режим)

0 ответов

Другие вопросы по тегам