在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