Java · Intermediário · Português · Técnico
método genérico
Método que declara o próprio parâmetro de tipo antes do retorno, como static <T> T primeiro(List<T> l), e funciona com vários tipos mantendo a segurança.
Onde usar
Aparece em utilitários como Collections.max e em Optional.map. O compilador infere o T pelos argumentos.
Em código
static <T> T primeiro(List<T> lista) {
return lista.get(0);
}
String s = primeiro(List.of("a", "b"));
int n = primeiro(List.of(7, 8)); // sem castExemplos
Faz um método genérico em vez de duplicar para String e Integer.
O método estático precisa declarar o próprio T.
Cuidado
Não confunda o <T> do método com o T da classe: um método estático não enxerga o T da classe, precisa declarar o seu.