Java重载

Rat*_*pta 0 java overloading

我在接受采访时被问到这个问题.

任何人都可以解释它.

public class A{

     public void show(List <String>list1,List<Integer>lists2){...}

     public void show(List <Integer>list1,List<String>lists2){...}
}
public class B{
 public static void main(..){
    A a=new A();
    List<String> list1;
    List<Integer>lists2;
    a.show(list1,lists2);
     }
   }
Run Code Online (Sandbox Code Playgroud)

我说2个函数会被调用..但是当我在neatbeans中worte它给出了同名函数的错误被称为... ??? 为什么这里没有重载概念?

Lui*_*oza 6

由于类型擦除,该方法的参数将成为List.

public void show(List list1, List list2);
public void show(List list1, List list2);
Run Code Online (Sandbox Code Playgroud)

从而成为无效的代码.