为什么Java允许调用带有类型参数但没有类型参数的方法?

时间:2015-06-12 19:50:44

标签: java javac

我最近发现你可以调用一个没有带任意类型参数的类型参数的方法。请考虑以下代码:

public class Test {

    public static void main(String[] args) {
        Test.foo();                         // d'uh
        Test.<Integer>foo();                // yep
        Test.<String, Integer, Float>foo(); // yep!
    }

    static void foo() { }
}

现在语法有很多技术上允许但创建编译器错误的东西。为什么会漏这个?

同样有趣的是:调用类似的方法会在Eclipse中创建警告,但javac并不会说任何内容,即使使用-Xlint

0 个答案:

没有答案