Приведенный ниже фрагмент кода не компилируется в Eclipse Luna с jdk 1.8.0_05. Компилятор Eclipse говорит: Несоответствие типов: невозможно преобразовать из Integer в long
Однако он компилируется в 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 Development Tools
Версия: 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, смешанный режим)
get((long)KEEP_ALIVE_TIME)
, но можно было бы рассмотреть это как ошибку для команды разработчиков eclipse. - person Marco13   schedule 21.09.2014