Foros del Web » Programación para mayores de 30 ;) » Java »

Warning al compilar con 5.0 en vez de 1.4

Estas en el tema de Warning al compilar con 5.0 en vez de 1.4 en el foro de Java en Foros del Web. Tengo un proyecto ej jbuilder con jdk 1.4 cuando compilo desde la línea de comandos con la versión 5.0 (si añado la versión 5.0 al ...
  #1 (permalink)  
Antiguo 26/04/2006, 08:14
 
Fecha de Ingreso: abril-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Warning al compilar con 5.0 en vez de 1.4

Tengo un proyecto ej jbuilder con jdk 1.4 cuando compilo desde la línea de comandos con la versión 5.0 (si añado la versión 5.0 al jbuilder no me funciona, creo algún proyecto y falla) me dice que recompile con -Xlint y me da unos warning. Desde la version 1.4 no da nada y funciona bien. Desde la 5.0 de los warning y funciona bien. Alguien sabe como se soluciona...

Un saludo.

.\lengprog\ExampleFileFilter.java:197: warning: [unchecked] unchecked call to pu
t(K,V) as a member of the raw type java.util.Hashtable
filters.put(extension.toLowerCase(), this);
^
.\lengprog\listaConocidos.java:17: warning: [serial] serializable class lengprog
.listaConocidos has no definition of serialVersionUID
public class listaConocidos
^
.\lengprog\Marco.java:88: warning: [unchecked] unchecked call to add(E) as a mem
ber of the raw type java.util.LinkedList
lst.add(new String(st.nextToken()));
^
.\lengprog\Marco.java:131: warning: [unchecked] unchecked call to add(E) as a me
mber of the raw type java.util.LinkedList
lstNpLeidos.add(new Npropio(true, stTmp)); //A±adimos el anterior a
la lista
^
.\lengprog\Marco.java:143: warning: [unchecked] unchecked call to add(E) as a me
mber of the raw type java.util.LinkedList
lstNpLeidos.add(new Npropio(true, stTmp)); // Crea un nuevo elemento
de la lista
^
.\lengprog\Marco.java:202: warning: [unchecked] unchecked call to add(E) as a me
mber of the raw type java.util.LinkedList
lstNpLeidos.add(new Npropio(true, strTmp));
^
.\lengprog\Marco.java:528: warning: [unchecked] unchecked call to add(E) as a me
mber of the raw type java.util.LinkedList
lstNpLeidos.add(new Npropio(true, stTmp)); // Crea un nuevo elemento
de la lista
^
.\lengprog\Marco.java:579: warning: [deprecation] show() in java.awt.Window has
been deprecated
editor.show();
^
.\lengprog\Marco.java:24: warning: [serial] serializable class lengprog.Marco ha
s no definition of serialVersionUID
public class Marco
^
9 warnings
  #2 (permalink)  
Antiguo 26/04/2006, 11:40
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Hola:

Mezclar versiones de java no es bueno, pasan estas cosas.

Los "unchecked" se arrenglan usando templates. Por ejemplo, en la 1.4 haces esto

LinkedList lista = new LinkedList();
lista.add (new Integer(3));


y no hay ningún problema. En java 5, esto da un warning, porque java 1.5 te aconseja que uses templates. No sé si la sintaxis que te pongo es exacta, pero es parecido a esto

LinkedList<Integer> lista = new LinkedList<Integer>();
lista.add (new Integer(3));


y así no te canta.

Lo del serialUid es que las clases java que son serializables (las tuyas lo son si heredas de alguna de java que lo sea), requiere un atributo serialUID, no sé exacatamente para qué, pero si no lo pones da un warning). Normalmente los IDES tienen una opción para generarlo automáticamente.

El show() está obsoleto. Ahora se usa setVisible(true)

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 28/04/2006, 02:32
 
Fecha de Ingreso: abril-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Gracias por la ayuda.
El problema es el jbuilder no me acepta LinkedList<Integer> lista = new LinkedList<Integer>();

Si lo compilo a mano con la 5.0 si funciona. Lo que no he averiguado es lo de serializable.

Un saludo
  #4 (permalink)  
Antiguo 09/02/2007, 16:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 11
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Warning al compilar con 5.0 en vez de 1.4

el serialVersionUID es porque necesita identificarse cuando implementa serializable (serializable es para que la clase pueda enviarse por red...).... les explico

tengo en un host HOST-UNO una clase llamada CLASE-1 y quiero enviarla al host HOST-2, pero puede ocurrir que HOST-2 tambien tenga una clase con el nombre CLASE-1, pero esta clase CLASE-1 del HOST-2, no es la misma que la que hay en el HOST-1 y que le llegara, por lo tanto necesita de un numero que la identifique.
no se que tan bueno puede ser, pero en fin es asi, saludos

PD: gracias por lo de obsoleto, me queda claro que ese mensaje aparece cuando el metodo ya no existe :S
  #5 (permalink)  
Antiguo 10/02/2007, 04:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Warning al compilar con 5.0 en vez de 1.4

De todas formas, no son mas que avisos del compilador, no son errores. Hay una opcion del compilador para que no te de estos avisos, ahora no recuerdo cual es.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:29.