| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 10:11:42
|
Javabuntu
GUJ Master
![[Avatar]](/images/avatar/00053f5e11d1fe4e49a221165b39abc9.jpg)
Membro desde: 08/02/2007 17:15:32
Mensagens: 1315
Localização: Brasília
Offline
|
pessoal comecei a estudar uns códigos que usam genérics, li materiais sobre o assunto...etc..etc...
Mas percebi em vários lugares, e até mesmo aqui no GUJ, vi comentários do tipo "Ainda bem que já colocaram o genérics no java".....outros "pelo amor de Deus, tira o genérics do java"...sabemos q a sun não irá retirar....
Mas e ai? realmente vale a pena usar ou não??
ou depende sempre do velho conselho: "depende muito do teu projeto...." afffff
pergunto se é um padrão a adotar a fundo SEMPRE.... ou não adotar....o que me dizem os experientes no assunto.....
pelo que estudei e vi até agora, achei muito interessante, mas pela minha falta de prática (ou nenhuma) no generics, não vi os lados ruins...etc...
Vamos lá abram vossos corações......
This message was edited 1 time. Last update was at 02/10/2007 10:28:21
|
SCJP 6
SCJD
SCWCD 5
Itil V2 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 10:13:52
|
foxpv
JavaEvangelist
![[Avatar]](/images/avatar/b68c8d589e6268e7283cc8230ae8f908.jpg)
Membro desde: 11/04/2006 09:35:56
Mensagens: 343
Offline
|
uai....
n conheco nenhum bom motivo para n usar generics n...
alguem conhece?
|
SCJP 1.5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 10:18:10
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Deve-se sim usar os generics. Se vc compilar um código com uma versão do Java maior que a 5.0 vai ver que ele vai te avisar que algumas operações "não seguras" foram detectadas. Se quiser ver os warnings, compila passando o parâmetro -Xlint. Normalmente é pela falta de uso dos tipos genéricos que esses warnings são gerados. A maior vantagem do seu uso é que eles garantem a "integridade" de uma coleção, assegurando que apenas um certo tipo (ou seus subtipos é claro) pode ser inserido naquela coleção. Dei o exemplo das coleções pois é o uso mais comum dos genéricos.
Já teve um post sobre isso aqui no guj, uma pergunta de como usar os mesmos. Muitas pessoas deram dicas, inclusive eu. Dê uma pesquisada.
Abraço!
This message was edited 1 time. Last update was at 02/10/2007 10:19:30
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 10:19:12
|
RaulCarlin
JavaEvangelist
![[Avatar]](/images/avatar/0b94ce08688c6389ce7b68c52ce3f8c7.png)
Membro desde: 20/05/2005 12:58:30
Mensagens: 389
Localização: São Paulo
Offline
|
Pra usar generics não conheço motivos para NÃO usar, agora acento na língua inglesa conheço todos os motivos para não usar... hehehehe
Brincadeiras à parte, eu uso sempre, seja em um mero Iterator, seja na criação de uma super classe pra garantir que as subclasses sejam do tipo esperado...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 10:40:03
|
Rodrigo Vieira Pinto
JavaEvangelist
![[Avatar]](/images/avatar/e7e69cdf28f8ce6b69b4e1853ee21bab.jpg)
Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline
|
Devem sim ser usados, mas com moderação
|
"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna
"Eu vou dá 10 pau!!" - Aracy de Almeida
Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)
"Bem, dizia eu que a aritmética..." - Prof. Girafales
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 10:49:36
|
CarlosEduardoDantas
GUJ Master
![[Avatar]](/images/avatar/dc33e31c39c141adff52d67a0718b867.jpg)
Membro desde: 13/11/2006 15:26:38
Mensagens: 1089
Offline
|
uso muito em conjuntos.. fora deles, uso, mas com MUITA MODERAÇÃO.
|
'Nós somos o que repetidamente fazemos. Excelência, então, não é um ato, mas um hábito'.
Aristóteles.
carloseduardoxp |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 10:56:40
|
gomesrod
GUJ Ranger
![[Avatar]](/images/avatar/5de6755473dc988fe6c7db81f26a53ac.jpg)
Membro desde: 11/05/2007 19:46:22
Mensagens: 901
Offline
|
Rodrigo Vieira Pinto wrote:Devem sim ser usados, mas com moderação
Eu não acho necessário usar com moderação, pode usar e abusar
Só vejo um pequeno problema, que é quando você tem declarações muito complexas, usando curingas, "extends", <> aninhados, etc. Aí o código vai ficando um pouco complicado...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 11:01:16
|
Eduardo Bregaida
Moderador
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline
|
Rodrigo Vieira Pinto wrote:Devem sim ser usados, mas com moderação
Oq vc quer dizer com moderação?
|
Blog - Java Anywhere
@bregaida - Twitter
Flickr - Fotos
Cursos de Java?
"Você poderia me dizer, por favor, qual caminho eu devo seguir?"
"Isto depende muito de onde você deseja chegar."
-Lewis Carroll, Alice no País das Maravilhas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 11:15:51
|
hebertaquino
JavaChild
Membro desde: 02/06/2005 11:47:12
Mensagens: 140
Offline
|
Antes de tudo veja os impactos de quem irá implantar o sistema, quem irá manter e se todos que irão desenvolver estão por dentro de como usar generics e se utilizam da maneira mais correta.
Acho que tudo que você irá desenvolver pela 1ª vez nem sempre sai as mil maravilhas..... Sempre encontrará falhas e bugs....
[]'s a todos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 11:19:25
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
É bom aprender se for fazer manutenção nos meus programas :P
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 11:26:08
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Também não vejo motivo para não usa-los... Nos meus programas eu uso sempre.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2007 11:38:35
|
WilliamSilva
Moderador
Membro desde: 02/03/2005 11:08:44
Mensagens: 1747
Localização: Santos -SP.
Offline
|
thingol wrote:
É bom aprender se for fazer manutenção nos meus programas 
E pensar duas vzs. se vai conseguir chegar no final do dia sem dor de cabeça.....
O generics tai..tem que usar...é pra usar.....ou vc. é daqueles que gosta de ficar fazendo typecast/casting até o dia amanhecer...sei lá tem gente que gosta de sofrer....
|
= William Silva =
iSHARE - Document Management System
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2007 09:14:16
|
outsider
What is classpath?
Membro desde: 19/09/2007 15:27:18
Mensagens: 8
Offline
|
Antes de perguntar se deve usar, é melhor vc entender porque foi criado: facilitar na codificação
pois não precisa fazer cast e garantir maior segurança naquilo que pode ser inserido num conjunto.
Fora dos conjuntos já entra também na questão de como suas classes são projetadas, e nesse
caso o problema não é o uso ou não dos genéricos, trata-se mais de um problema de design, e
nesse sentido acredito que sempre será possível encontrar melhor solução que criar classes
genéricas. Ou seja, para conjuntos: use, para classes: procure outra solução antes.
abs
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/10/2007 13:36:00
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
ainda não apereceu ng defendendo o NÃO uso de generics... Alguém se habilita? (No Flamewar!!! Yes CURIOSIDADE!!!)
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/02/2008 22:26:07
|
heitorzim
Smalltalk
Membro desde: 15/02/2008 22:17:56
Mensagens: 1
Offline
|
Se eu tenho uma classe abstrata Ponto e duas implementações concretas: PontoInteiro e PontoReal;
Eu gostaria de poder escrever um método que fizesse algo com uma lista de qquer tipo de pontos:
void fazAlgo(ArrayList<Ponto> pontos)
{
para cada ponto em pontos, faça:
ponto.umMetodoQueQquerPontoTem();
}
Gostaria de poder fazer:
imprime(new ArrayList<PontoInteiro> );
imprime(new ArrayList<PontoReal> );
Mas usando generics não dá, pois ArrayList<PontoInteiro> não é um ArrayList<Ponto> só pq um PontoInteiro é um Ponto. Tem que deixar de usar os generics.
Isso é um motivo?
Editando: Não, não é motivo pois podemos usar um maravilhoso WildCard no valor de um milhão de reais em barras de ouro que valem mais do que dinheiro.
This message was edited 2 times. Last update was at 15/02/2008 22:40:48
|
|
|
 |
|
|