Autor Tema: uses unchecked or unsafe operations. Recompile with -Xlint.unchecked fo CU00678B  (Leído 1900 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo el ejercicio CU00678B del tutorial pdf de programación java.
Concepto definición de polimorfismo en Java. ¿Qué es el polimorfismo? .

Me he extendido un poco mas de la cuenta en el código porque no entendía bien el funcionamiento del ArrayList Polimorfo.
Gracias al ejercicio que dejo SantiagoArg pude aclararme de que va el tema ya que soy un poco corto de entendederas.

Pongo alguna presentación en pantalla utilizando contadores para poder ver el funcionamiento del Iterator ya que este no utiliza contadores (que se vean) y si hay alguien que no se aclare  y le puede servir aquí esta.

Código: [Seleccionar]
import java.util.*;
public class TestPolimorfismo {
    public static void main (String[] Args) {
        ArrayList<Set> lista = new ArrayList<Set>(); //Declaración del ArrayList lista tipo Set
        Set<String> setCadena = new HashSet<String>(); // Creación del objeto tipo HashSet con contenido Strings
        Set<Integer> setEnteros = new TreeSet<Integer>();// Creación del objeto tipo TreeSet con contenido Integer
        //Llenar ArrayList String
        setCadena.add("sol");
        setCadena.add("luna");
        setCadena.add("saturno");
        //Llenar ArrayList Integer
        setEnteros.add(2);
        setEnteros.add(8);
        setEnteros.add(5);
        //Presentar por pantalla el contenido del HashSet setCadena.
        Iterator enumCadena = setCadena.iterator(); // Crear el iterador para enumCadena
        System.out.print("ARRAYS Y POLIMORFISMO\n\n" );
        System.out.print("Elementos en setCadena (String)\n" );
        System.out.print("Item en enumCadena() : ");
        while (enumCadena.hasNext()) {
            System.out.print( enumCadena.next()+ ";");
        }

        //Presentar por pantalla el contenido del TreeeSet setEnteros.
        Iterator  enumEnteros = setEnteros.iterator(); // Crear el iterador para enumEnteros
        System.out.print("\nElementos en setEnteros (Integer)\n" );
        System.out.print("Item en enumEnteros() : ");
        while (enumEnteros.hasNext()) {
            System.out.print( enumEnteros.next()+"; ");

        }
        // Añadir al ArrayList lista el HashSet (El String) y el TreeSet (El Integer).
        lista.add(setCadena);lista.add(setEnteros);//Polimorfismo Arraylist con diferentes tipos de objetos
       
        System.out.print("\n\nPRESENTAR LISTA CON FOR EXTENDIDO e Iterator \n");

        int s=0;
        for (Set listaDeLista : lista) {
            Iterator<Set> sublistaTmp =listaDeLista.iterator();
            System.out.println("\nComponente ("+s+") de la lista "+listaDeLista);
            int n=0;
            while (sublistaTmp.hasNext()){
                System.out.println("Componente ("+s+") de lista  Componente Iterator<Set> ("+n+") : "+sublistaTmp.next());
                n++;
            }
            s++;
        }
    }
}

Espero que este todo bien.
Gracias.
Un saludo. ;)
« Última modificación: 04 de Agosto 2019, 23:28 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, para quien revise este hilo, el código funciona correctamente. Como único detalle a comentar, en el código se usa un for extendido Java y dentro de este, un iterator. El ejercicio indicaba "e) Usa iteradores para recorrer los elementos del ArrayList y recorrer el contenido de cada uno de los elementos y mostrar este contenido por pantalla. Por pantalla deberás obtener “sol”, “luna”, “saturno”, 8, 5, 2."

Puede verse una solución donde sólo se usan iteradores en https://aprenderaprogramar.com/foros/index.php?topic=2384.0

Al compilar aparece el mensaje "Warnings from last compilation ... uses unchecked or unsafe operations. Recompile with -Xlint.unchecked for details pero en este caso no veo que tenga trascendencia, el manejo de tipos es correcto.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".