Olá pessoal, estou iniciando programação em Java e até agora conseguir me adaptar muito bem a linguagem, mas existem algumas coisas que ainda tenho dúvida, a mais importante para mim neste momento é saber para que server os marcadores ‘<>’ mas não no contexto de maior e menor e sim nestes casos abaixo:
//Neste caso entre o list e ArrayListList<ObjetoQualquer>nomeEstruturaDoObjeto=newArrayList<ObjetoQualquer>();
e
// Minha dúvida é saber para que serve este <>publicclassJogadorimplementsComparable<Jogador>{}
Olá,pelo que entendi(me corrijam se estiver errado) os marcadores ‘<>’ servem para indicar que aquele objeto List vai ser de um só determinado tipo.
Exemplo:
List … todos os objetos dessa lista vão ser da classe contato.
drsmachado
Estas “marcações” são formas de indicar que um objeto irá tratar o tipo especificado entre eles.
De que forma isso acontece.
Bom, a partir do java 1.5, uma grande mudança surgiu, para aproveitar e incrementar o uso de polimorfismo e OO, era a caminhada rumo ao generics.
Generics consiste em criar estruturas que podem receber quaisquer classes, já existentes ou não.
Normalmente, a sintaxe de algo que irá suportar generics é
publicinterfaceGenerica<T>{}
Quando criamos uma classe que irá implementar esta Generica, precisamos passar qual o tipo de classe que ela irá tratar
Note: No Java 7 é possível usar uma sintaxe mais enxuta para a criação dos Objetos de Tipos Genéricos, através da omissão dos tipos, com uma notação que foi apelidada de diamond:
Com essa sintaxe, os parâmetros de tipos usados na construção dos objetos são inferidos a partir dos parâmetros definidos na referência para esse objeto. Ou seja, em uma declaração Tipo<t1, t2, …, tk> ref = new Tipo<>(), o compilador entenderá que new Tipo<>() deverá ser substituído pornew Tipo<t1, t2,…, tk>().
antonio.barros
Obrigado pessoal, esclareceu já minha dúvida, e obrigado pela rapidez!