Java 8 Java8 eclipse编译器错误

Java 8 Java8 eclipse编译器错误,java-8,Java 8,我发现java8有一个奇怪的问题: 在类方法中,我有以下代码: int id; ... new Key<Integer>(id) 执行时。。。!!!!原因:编译器忽略用整数替换int 希望这能帮助像我这样的家伙,他们对这样的运行时验证非常失望,他们的程序只是从java7传递到java8 版本:Luna发行版(4.4.0) 构建id:20140612-0600 Java版本“1.8.0_25” Java(TM)SE运行时环境(build 1.8.0_25-b17) Java HotS

我发现java8有一个奇怪的问题:

在类方法中,我有以下代码:

int id;
...
new Key<Integer>(id)
执行时。。。!!!!原因:编译器忽略用整数替换int

希望这能帮助像我这样的家伙,他们对这样的运行时验证非常失望,他们的程序只是从java7传递到java8

版本:Luna发行版(4.4.0) 构建id:20140612-0600

Java版本“1.8.0_25” Java(TM)SE运行时环境(build 1.8.0_25-b17) Java HotSpot(TM)64位服务器虚拟机(构建25.25-b02,混合模式)

增加

下面是一个完整的简单示例:

package bug;

public class Bug {

    public static void main(String[] args) {
        Bug.class.getConstructors();
        System.out.println("test ok");
    }

    public Bug() {
        BugCondition("", new Key<Integer>(1));
        //BugCondition("", new Key<>(1));
    }

    public static final <C extends Object> void BugCondition(C test, Key<?> key) {
    }

    public class Key<K> {
        public Key(K value) {
        }
    }
}
包错误;
公共类错误{
公共静态void main(字符串[]args){
Bug.class.getConstructors();
System.out.println(“测试正常”);
}
公共Bug(){
BugCondition(“,新键(1));
//BugCondition(“,新键(1));
}
公共静态最终无效状态(C测试,键){
}
公开类密钥{
公钥(K值){
}
}
}
问题似乎来自泛型(用字符串替换C):

公共静态最终无效状态(C测试,键){
}

您的示例可以很好地编译。我正在使用以下构建:

Version: Mars Release Candidate 2 (4.5.0RC2)
Build id: 20150528-0540

我怀疑这个问题在这段时间内已经得到了解决(与许多其他Eclipse/Java8编译问题一样)

密钥类及其构造函数的签名是什么?请查看JVM抛出
VerifyError
的原因,请显示一个复制该问题的完整且可编译的示例。当然,但是我花了很多时间来发现这个问题,当然把它作为一个简单的例子来提取并不容易……您的代码在这里工作得很好,但我使用的是javac,而不是Eclipse编译器(它看起来越来越有缺陷)。Java版本:Java(TM)SE运行时环境(构建1.8.0-b132)Java热点(TM)64位服务器虚拟机(构建25.0-b70,混合模式)
package bug;

public class Bug {

    public static void main(String[] args) {
        Bug.class.getConstructors();
        System.out.println("test ok");
    }

    public Bug() {
        BugCondition("", new Key<Integer>(1));
        //BugCondition("", new Key<>(1));
    }

    public static final <C extends Object> void BugCondition(C test, Key<?> key) {
    }

    public class Key<K> {
        public Key(K value) {
        }
    }
}
public static final <C extends Object> void BugCondition(C test, Key<?> key) {
}
Version: Mars Release Candidate 2 (4.5.0RC2)
Build id: 20150528-0540