То, что я ищу, является общей версией Object[] java.util.Collection.toArray()
или менее подробной альтернативой использованию T[] java.util.Collection.toArray(T[] array)
. В настоящее время я могу написать:
Collection<String> strings;
String[] array = strings.toArray(new String[strings.size()]);
То, что я ищу, это что-то вроде:
@SuppressWarnings("unchecked")
public static <T> T[] toArray(Collection<T> collection, Class<T> clazz) {
return collection.toArray((T[]) Array.newInstance(clazz, collection.size()));
}
который затем я могу использовать как:
String[] array = Util.toArray(strings, String.class);
Итак, что-то вроде этого реализовано в Guava или в коллекциях Commons?
Конечно, я могу написать свой собственный (выше), который, кажется, так же быстро, как массивArray (T []).