我想爲接受3個參數的Java類創建一個初始化方法:具有強制數組大小參數的Java方法?
Employee[] method(String[] employeeNames, Integer[] employeeAges, float[] employeeSalaries)
{
Employee myEmployees[] = new Employee[SIZE];// dont know what size is
for (int count = 0; count < SIZE; count++)
{
myEmployees[count] = new Employee(employeeNames[count], employeeAges[count], employeeSalaries[count]);
}
return myEmployees;
}
您可能注意到,此代碼是錯誤的。沒有定義SIZE變量。我的問題是我想傳入3個數組,但是我想知道是否可以確保這三個數組都是相同的數組大小。這樣for循環將不會失敗,因爲for循環中的構造函數使用數組的所有參數。
也許Java有一個不同的功能,可以強制解決我的問題。我可以接受另一個稱爲SIZE的參數,它將在for循環中使用,但如果參數1和2的大小爲10,而第三個參數是大小爲9的數組,則不能解決我的問題。
重新審視我不清楚。我如何強制3個參數都是包含完全相同數量元素的數組?
使用額外的參數來指定數組大小不是很優雅和有點髒。它也不能解決數組參數包含不同大小數組的問題。
感謝喬恩,出色答卷! – 2009-06-01 09:03:15
這是我認爲使用NullPointerException的錯誤方法的一個很好的例子。如果(employeeNames == null){ throw new IllegalArgumentException(「employeeNames == null」);我將對每個傳入的參數 進行單獨檢查。 } 這使得stacktrace更有助於診斷問題。 – 2009-06-01 10:03:44