【发布时间】:2014-04-12 00:06:36
【问题描述】:
public static void add3(ArrayList<Integer> a)
{
Scanner console = new Scanner(System.in);
int i = console.nextInt();
a.add(i);
i = console.nextInt();
a.add(i);
i = console.nextInt();
a.add(i);
}
public static void add3(ArrayList<Double> a)
{
Scanner console = new Scanner(System.in);
double i = console.nextDouble();
a.add(i);
i = console.nextDouble();
a.add(i);
i = console.nextDouble();
a.add(i);
}
当我运行我的程序时,Integer 版本可以工作,但 Double 版本不能。它一直给我一个错误,说该类型不适用于 add3(ArrayList a)。这让我很困惑,因为还有另一种类型为 double 的方法,但编译器似乎看不到它。有关如何使其工作的任何建议?谢谢。
【问题讨论】:
-
你是如何调用这些方法的?
-
肯定是因为类型擦除
-
因为:类型擦除。这两个方法具有相同的签名。
-
换句话说,尝试重命名一种方法。
标签: java methods arraylist integer double