Warning al compilar: unchecked or unsafe operations.

i02hajij
29 de Marzo del 2006
Hola a todos. Estoy haciendo un pequeño programa en java, donde uso la Clase Vector. El problema es que al compilar me da el siguiente warning:

Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Al recompilar con -Xlint:unchecked me da todos los warning en:
C:\Cosas Java\Interfaz\src\interfaz\VentanaServidor.java:399: warning: [unchecked] unchecked call to addElement(E) as a member of the raw type java.util.Vector
this.vectorUsuarios.addElement( nombre );

Y no entiendo que problema hay. He revisado la clase Vector y está bien usado el miembro addElement.

¿Alguien me puede decir como solucionar esto?

Gracias.

Diego
29 de Marzo del 2006
Eso es debido a que a partir del jdk 1.5.0 java utiliza genéricos, de este modo, si nombre es un objeto de la clase T, deberías definir vectorUsuarios de dicho tipo o de alguna superclase o interfaz que implemente; por ejemplo si nombre es un String:
Vector<String> vectorUsuarios=new Vector<String>();
Nota: utiliza preferentemente add en lugar de addElement, pues add es un método que hereda de Collection, y de este modo si utilizas el código de Collection, o de List, o de alguna subclase suya, podrás cambiar el objeto sin tener que cambiar los métodos, por ejemplo, si tu aplicación no es multihilo puedes declarar:
ArrayList<String> vectorUsuarios=new ArrayList<String>();
y hacer que la clase sea más eficiente (usando un sólo hilo, ya que ArraList no está sincronizada) sin tener que cambiar el código. Espero que te sirva.