在Java 7中,checked方法的不同类型导致编译错误,而在Java 8中不存在编译错误。是否可以保持泛型的检查并使其在Java 8中产生编译错误?Java 8通用类型检查
class CheckedEquals{
public static <T> boolean checked(T expected, T actual) {
return com.google.common.base.Objects.equal(expected, actual);
}
}
class ShouldFailAtCompileTime{
public void foo(){
if(CheckedEquals.checked("String", Boolean.TRUE)){
System.err.println("");
}
}
}
在你的榜样,T为对象...不知道为什么它不与Java 7 – assylias
@assylias正确编译但它是一种这个问题的核心观点。 :) – lexicore
你可以在问题中包含编译错误? – Henrik