
Antonio Jose Dos Ramos Lugo
PreguntaNo entiendo como funciona
static <T>List<T> getList(T... elements){ return Arrays.asList(elements); }
Me explico, Regresa una T? y en los argumentos porque va T… elements? los 3 puntos es obligatorio? como funciona esta parte?

Sinuhe Jaime Valencia
Retomando, solo para mantener fresca la informacion:
Cuando decimos
<T>
Hey, este metodo no trabaja con un tipo de dato concreto, asi que puede trabajar con cualquier dato, puede ser un numero, una clase, cualquier dato!
Asi, donde anteriormente tendriamos un tipo de dato, ahora tenemos un
T
Puesto de otra forma, si esta funcion trabajara con
String
static List<String> getList(String... elements) { //code here... }
Como este metodo/funcion no esta restringido a un solo tipo podemos usar
T
String
Sobre los
...
vararg
List<String> nombres = getList("Sier", "AntoCode"); List<String> vacia = getList();
Es la misma funcion, llamada con una cantidad distinta de parametros.

Gerald Zamora
@sys515 porque de esa manera declares que vas a utilizar un objeto genérico llamado T, siempre que vayas a usar objetos genéricos en un método, los tienes que declarar primero,
EJE: si quieres que este mismo método reciba otros 2 objetos genéricos, primero los declaras y luego los usas
<T, A, D> List<T> getList(A a, D d, T... elements){ return Arrays.asList(elements); }
ahora tu método recibe 2 objetos genéricos y una lista genérica

Miguel Augusto Batz Tzul
No se si me puedas ayudar, de todo eso lo que no entiendo por que al inicio se coloca <T>, se que el T sea para objetos genericos. Pero por que ponerla al inicio del List<T>

Gerald Zamora
El T representa un objeto cualquiera, podría ser Integer, String, Persona etc... a esto se le llama programación genérica. En los parámetros los tres puntos significa que pueden pasar tantos objetos T como quieran, sino estuviera los 3 puntos, la función solo recibiría un objeto T, y Arrays.asList() lo que hace es tomar un grupo de objetos del mismo TIPO, y convertirlos en una lista de ese tipo (osea tipo T en este caso).