Type Inference Compiler Error In Eclipse with Java8 but not with Java7 [duplicate]

*爱你&永不变心* 提交于 2019-12-20 02:34:18

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!