Warning uncheked

Senhores, copilei minha classe , usando -Xlint:unchecked para verificar qual o possivel problema da classe…Ele aponta o :

warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.Vector
                vetor.add(cd);

Como um possivel problema…Mas como assim?? eu faço um rs.next() e vou colocando os valores em um bean
Bean bn= new Bean();
bn.setCd(rs.getString(“CdNome”));

no final o vetor inclue

vetor.add(bn);

Então ele da esse aviso citado acima.Não entendi, qual o problema de incluir no vetor na forma como eu estou fazendo…o que pode acaretar?? Valeu!! :wink:

Opa,

Amigo, eu vivo fazendo isto mas é com lista, para te falar a verdade não vejo muita diferença em usar listas, vetores, coleções na maioria dos casos qualquer uma das três estruturas suportam bem.

Bem com lista seria:

List objetos = new ArrayList(); // faz o resultset // cria objeto e objetos.add(bean);

até mais.

:pensativo:

[quote=“marcossousa”]Opa,

Amigo, eu vivo fazendo isto mas é com lista, para te falar a verdade não vejo muita diferença em usar listas, vetores, coleções na maioria dos casos qualquer uma das três estruturas suportam bem.

Bem com lista seria:

List objetos = new ArrayList(); // faz o resultset // cria objeto e objetos.add(bean);

até mais.

:pensativo:[/quote]

È cada um tem sua particularidade, um é ordenado, outro não, um é mais rápido que o outro(Entre arraylist e vetor) e etc…È eu queria saber porque esse aviso…será quer o Vector está depreciado???hehe
Até mais…

OBS: Aparece essa mensagem para vc também??

Olá FelipeSS_2

Esse warning que o compilador dá é devido ao uso de Generics. A partir da versão 5 do Java, esses warnings “aparecem” nos códigos que não usarem Generics.

Em resumo, essa nova característica faz com que você especifique, em tempo de compilação, qual o tipo dos objetos que vai ter em uma coleção. Por exemplo, se você declarar:

List<Bean> lista = new Vector<Bean>();

você está especificando que no objeto lista SÓ vai entrar objetos da classe Bean. Isso deixa o código seguro já em tempo de execução (type safe). Além de garantir isso, já ajuda na hora que você for tirar os objetos, pois não precisa fazer um cast pra (Bean), como você deve estar fazendo. Se só entrou Bean, só vai sair Bean, e, na compilação, ele já detecta isso pra você. É massa :slight_smile: Então, o que você deve fazer é especificar a classe dos objetos que você vai colocar na sua coleção, utilizando Generics. Não é obirgatório, mas o compilador fica enchendo o saco e isso deixa o código mais seguro (ClassCastException nunca mais!) e melhor de se programar.

Ah, e Vector, ArrayList, List… NÃO são ordenados, viu??? A diferença entre Vector e ArrayList é que o primeiro é sincronizado e o segundo não é. É só isso :slight_smile: O Vector não está depreciado.

Até mais,

[quote=“CD1”]Olá FelipeSS_2

Esse warning que o compilador dá é devido ao uso de Generics. A partir da versão 5 do Java, esses warnings “aparecem” nos códigos que não usarem Generics.

Em resumo, essa nova característica faz com que você especifique, em tempo de compilação, qual o tipo dos objetos que vai ter em uma coleção. Por exemplo, se você declarar:

List<Bean> lista = new Vector<Bean>();

você está especificando que no objeto lista SÓ vai entrar objetos da classe Bean. Isso deixa o código seguro já em tempo de execução (type safe). Além de garantir isso, já ajuda na hora que você for tirar os objetos, pois não precisa fazer um cast pra (Bean), como você deve estar fazendo. Se só entrou Bean, só vai sair Bean, e, na compilação, ele já detecta isso pra você. É massa :slight_smile: Então, o que você deve fazer é especificar a classe dos objetos que você vai colocar na sua coleção, utilizando Generics. Não é obirgatório, mas o compilador fica enchendo o saco e isso deixa o código mais seguro (ClassCastException nunca mais!) e melhor de se programar.

Ah, e Vector, ArrayList, List… NÃO são ordenados, viu??? A diferença entre Vector e ArrayList é que o primeiro é sincronizado e o segundo não é. É só isso :slight_smile: O Vector não está depreciado.

Até mais,[/quote]

Valeu cara…Legal o lance dos Generics…Ainda não tinha usado…Desculpe vc tem razão me confundi…não é ordenado mesmo é Sincronizado!!Valeu!! :wink:

Opa,

É depois que eu fui ver o teu post, tinha interpretado mal, e achei que você estava utilizando a versão anterior 5.0.

Foi mal. :oops:

é isto aí.