Java - Passing Arrays and Collections as Method Arguments
Passing array instances as arguments in a single line of code is very useful. For example, you can do something like this:
addNumbers(new int[] {1,2,3});
This works perfectly, but for collections, you cannot do that directly. However, by using anonymous inner classes with instance initialization, we can achieve a similar effect:
addNumbers(new ArrayList<Integer>(3) );
Expanding this code makes its mechanism clearer:
addNumbers(new ArrayList<Integer>(3) { // Anonymous class definition
// Instance initialization block
{
add(1);
add(2);
add(3);
}
});
For completeness, here are the addNumbers
methods used in the examples:
private static int addNumbers(int[] numbers) {
int result = 0;
for (int number : numbers) {
result += number;
}
return result;
}
private static Integer addNumbers(Collection<Integer> numbers) {
Integer result = 0;
for (Integer number : numbers) {
result += number;
}
return result;
}
Enjoy Reading This Article?
Here are some more articles you might like to read next: