I think that the way to understand the way that things are in Java 5.0 is to understand that in previous versions of Java there was no auto-boxing. So, for backward compatibility with Java version 1.4 (also known as 4.0) things in 5.0 have to be done the old way -- the way that they used to be done in 1.4 and earlier. This is necessary so that existing code works when upgrading to 5.0.
Hi, I think there is an error in first method call where you are passing a reference to an int array where an Integer or int is expected. To clear your doubts on autoboxing go through Zaikin's Tiger notes.