Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java方法重载-歧义 当我做一些测试来测试一些代码的时候,我发现了一个奇怪的事情,如果你考虑下面的程序 import java.util.ArrayList; import java.util.List; public class OverloadTest { public String test1(List l){ return "abc"; } public int test1(List<Integer> l){ return 1; } public static void main(String [] args) { List l = new ArrayList(); System.out.println(new OverloadTest().test1(l)); } }_Java_Overloading_Javac - Fatal编程技术网

Java方法重载-歧义 当我做一些测试来测试一些代码的时候,我发现了一个奇怪的事情,如果你考虑下面的程序 import java.util.ArrayList; import java.util.List; public class OverloadTest { public String test1(List l){ return "abc"; } public int test1(List<Integer> l){ return 1; } public static void main(String [] args) { List l = new ArrayList(); System.out.println(new OverloadTest().test1(l)); } }

Java方法重载-歧义 当我做一些测试来测试一些代码的时候,我发现了一个奇怪的事情,如果你考虑下面的程序 import java.util.ArrayList; import java.util.List; public class OverloadTest { public String test1(List l){ return "abc"; } public int test1(List<Integer> l){ return 1; } public static void main(String [] args) { List l = new ArrayList(); System.out.println(new OverloadTest().test1(l)); } },java,overloading,javac,Java,Overloading,Javac,但是仍然发现Java调用了test1(List param)方法,当我检查param时,它有字符串“a”(Java是如何将List转换为List?)这是一个固定错误 Eclipse 3.7的javac5、javac6和ecj中似乎存在此错误,但在Eclipse 3.8和更高版本中已修复。您提供的代码根本无法为我编译-我收到一个错误:错误:名称冲突:test1(列表)和test1(列表)具有相同的擦除,在Java中,模板数据结构是相关的,因此它不应该编译,但是如果使用C++,类似的东西可以编译,模

但是仍然发现Java调用了
test1(List param)
方法,当我检查
param
时,它有
字符串
“a”(Java是如何将
List
转换为
List
?)

这是一个固定错误


Eclipse 3.7的javac5、javac6和ecj中似乎存在此错误,但在Eclipse 3.8和更高版本中已修复。

您提供的代码根本无法为我编译-我收到一个错误:
错误:名称冲突:test1(列表)和test1(列表)具有相同的擦除,在Java中,模板数据结构是相关的,因此它不应该编译,但是如果使用C++,类似的东西可以编译,模板类不共享任何代码,在Eclipse靛蓝,java 1.60java中执行代码。30@sanbhat您是否尝试过使用
javac
进行编译?也许Eclipse的编译器中有一个bug。
javac
给了我模糊性错误!!Eclipse Indigo如何编译甚至运行这段代码??
List l = new ArrayList();
l.add("a");
System.out.println(new OverloadTest().test1(l));