Whilst this isn't strictly an answer to this question I think it's useful.
Arrays and Collections can bother be converted to Iterable which can avoid the need for performing a hard conversion.
For instance I wrote this to join lists/arrays of stuff into a string with a seperator
public static <T> String join(Iterable<T> collection, String delimiter) {
Iterator<T> iterator = collection.iterator();
if (!iterator.hasNext())
return "";
StringBuilder builder = new StringBuilder();
T thisVal = iterator.next();
builder.append(thisVal == null? "": thisVal.toString());
while (iterator.hasNext()) {
thisVal = iterator.next();
builder.append(delimiter);
builder.append(thisVal == null? "": thisVal.toString());
}
return builder.toString();
}
Using iterable means you can either feed in an ArrayList or similar aswell as using it with a String...
parameter without having to convert either.