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