This question already has an answer here:
The below piece of code doesn't compile in Eclipse Luna with jdk 1.8.0_05. Eclipse compiler says : Type mismatch: cannot convert from Integer to long
It though compiles in Luna with jdk 1.7 and also compiles using jdk 1.8 when invoked from command line. Can anyone help me identify what could be wrong? Eclipse JDK?
The code works in : 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
Version: 3.10.0.v20140501-0200
Build id: I20140501-0200
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
来源:https://stackoverflow.com/questions/25958687/type-inference-compiler-error-in-eclipse-with-java8-but-not-with-java7