Java 为什么使用类型参数调用非参数化方法不是错误?
我有一个Java程序,我本来希望它不会编译,但它确实编译了:Java 为什么使用类型参数调用非参数化方法不是错误?,java,generics,Java,Generics,我有一个Java程序,我本来希望它不会编译,但它确实编译了: class Test { public static void f() { } void m() { Test.<String>f(); } } 类测试{ 公共静态void f(){ } void m(){ Test.f(); } } 为什么javac允许以这种方式调用非参数化方法 我的Java编译器版本是:javac1.7.0_75显式类型参数被忽略 这一点载
class Test {
public static void f() {
}
void m() {
Test.<String>f();
}
}
类测试{
公共静态void f(){
}
void m(){
Test.f();
}
}
为什么javac允许以这种方式调用非参数化方法
我的Java编译器版本是:javac1.7.0_75显式类型参数被忽略 这一点载于:
- 如果方法调用包括显式类型参数,并且成员是泛型方法,则类型参数的数量相等 方法的类型参数数
您使用的是哪个JDK版本?它没有编译给我(JDK1.5和1.6)@Albert哦,我使用的是Java7。我将用我的JDK版本编辑描述。你从哪里得到这些东西的ⁿ|ⁿ