This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
I wasn’t aware of that class; there are all sorts of useful things hiding away in the Apache project.
Thanks Campbell, yes indeed these Apache classes are having lot of useful utilities worth exploring.
Apache classes are useful - true that. However, I would think twice before using ConverterUtil.toList over some of the ways suggested before that use standard Java. ConverterUtil smells of NIH (Not Invented Here). I may be wrong and there may be perfectly legitimate reasons for its existence in the Apache project but I would question the need to suddenly create a dependency on Apache Axis just because you want to convert an array to a List. That's a bit of a stretch for an old guy like me who can't even reach his toes without bending his knees anymore.
Jesper de Jong wrote:There are some important things to note with the solutions given above:
Garrett's solution, with Arrays.asList() is efficient because it doesn't need to copy the content of the array. This method returns a List that is a "view" onto the array - a wrapper that makes the array look like a list. When you change an element in the list, the element in the original array is also changed. Note that the list is fixed size - if you try to add elements to the list, you'll get an exception.
Ernest's solution: new ArrayList(Arrays.asList(myArray)); copies the content of the array to a new ArrayList. The copy is ofcourse independent of the array, and you can add, remove etc. elements as you like.
Janarthan's solution, with Collections.addAll(myList, myStringArray); is essentially the same as Ernest's solution.
If you only need read access to the array as if it is a List and you don't want to add or remove elements from the list, then use Garrett's solution. Otherwise use Ernest's or Janarthan's solution.