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