Java中的泛型如何用于以下程序?
2022-09-02 12:54:35
public class Program {
private static <Program> void foo(Program x){
System.out.println(x+"-->1");
}
private static void foo(final int i){
System.out.println(i+"-->2");
}
public static void main(String[] args) {
Integer i = 10;
foo(i);
}
}
输出为:
10-->1
我无法找到有关此主题的任何相关讨论。但是,另一个主题的答案让我有点困惑:- Java泛型方法的返回类型
根据他们的说法,泛型与返回类型无关,但在我的情况下,如果我对下面的程序稍作更改,那么输出就不同了。<Program>
public class Program {
private static <Integer> void foo(Program x){
System.out.println(x+"-->1");
}
private static void foo(final int i){
System.out.println(i+"-->2");
}
public static void main(String[] args) {
Integer i = 10;
foo(i);
}
}
输出:
10-->2
我使用的是 JDK1.7