我正在學習Java的學校和主題是通用方法。我需要編寫一個具有通用方法的應用程序,用相同的元素「填充」任何類型的數組。但它不工作...誰能幫助我:通用方法來填充數組
package pack.switchshift;
import java.lang.reflect.Array;
public class Filler {
public static void main(String [] args) {
int[] intArr = new int[10];
String[] stringArr = new String[10];
double[] doubleArr = new double[10];
genFill(intArr, 0);
genFill(stringArr, "0");
genFill(doubleArr, 0.0);
for (int element : intArr){
System.out.print(element);
}
}
private static <T> void genFill(T[] arr, T element) {
for (int i = 0; i < arr.length; i++) {
arr[i] = element;
}
}
}
我想在這多種方法,花了幾個小時研究,但我仍然沒有得到它。
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The methodgenFill(T[], T)
in the typeFiller
is not applicable for the arguments(int[], int)
The methodgenFill(T[], T)
in the typeFiller
is not applicable for the arguments(double[], double)
at pack.switchshift.Filler.main(Filler.java:11)
對於原始類型,您必須使用它們的盒裝版本。 –
在這種情況下'T'沒有用;你的方法簽名應該是'private static void genFill(Object [] arr,Object element)' – newacct