我想为接受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