8
嘗試編譯下面的代碼在JDK7:JDK7:鑽石推斷語法混亂
import java.nio.file.*;
public final class _DiamondSyntaxErrors {
public interface InterfaceA<T> {
}
public abstract static class ClassA<T>
implements InterfaceA<T> {
protected ClassA() {
}
}
public static void main(String... args) {
// no error
InterfaceA<Path> classA = new ClassA<>() {
};
// error: cannot infer type arguments for SimpleFileVisitor<>
FileVisitor<Path> visitor = new SimpleFileVisitor<>() {
};
}
}
爲什麼沒有鑽石語法工作的第二個用法?
第一次使用有什麼重大區別?
Margus,他正在爲Java 7使用一項新功能[計劃](http://code.joejag.com/2009/new-language-features-in-java-7/)。 – 2010-11-02 06:38:41
Java 7尚未最終確定,我會認爲這是一種錯誤,你可以將它報告給Oracle。我懷疑這裏的任何人都不會對此有所瞭解。 – BjornS 2010-11-02 07:56:52
'@ BjornS':好的,我會報告一個錯誤。我只是有這樣的經驗,很多「錯誤」不是錯誤,而是誤解,所以我先問這裏) – 2010-11-02 12:23:19