traduccion spanish juice fruta examples español java guava apache-commons

java - spanish - guava maven



¿Hay alguna versión genérica de toArray() en Guava o Apache Commons Collections? (3)

La sintaxis de la guayaba es específicamente

Iterables.toArray(strings, String.class);

Lo que estoy buscando es una versión genérica de Object[] java.util.Collection.toArray() o una alternativa menos detallada a usar T[] java.util.Collection.toArray(T[] array) . Actualmente puedo escribir:

Collection<String> strings; String[] array = strings.toArray(new String[strings.size()]);

Lo que busco es algo como:

@SuppressWarnings("unchecked") public static <T> T[] toArray(Collection<T> collection, Class<T> clazz) { return collection.toArray((T[]) Array.newInstance(clazz, collection.size())); }

que luego puedo usar como:

String[] array = Util.toArray(strings, String.class);

Entonces, ¿algo como esto está implementado en Guava o en Commons Collections?

Por supuesto, puedo escribir el mío (lo anterior), que parece ser tan rápido como toArray (T [] array).


Puedes acortarlo con

String[] array = strings.toArray(new String[0]);

Lo que también pasa a ser más eficiente.

Con Java 8 también puedes usar esto, pero parece innecesariamente complicado y probablemente sea más lento:

String[] array = strings.stream().toArray(String[]::new); // Java 8