Revisión genérica

Para desarrollar una clase Apple genérica, se requiere un atributo de peso weight para instanciar diferentes objetos genéricos en la clase de prueba. Este atributo del objeto a1 debe ser de tipo String, este atributo del objeto a2 es de tipo Integer y este atributo de a3 es El atributo es de tipo Double. Asigne valores a los atributos de peso de a1, a2 y a3 respectivamente: "500 gramos", 500, 500.0 y llame al descriptor de acceso para obtener el valor del atributo y enviarlo a la clase de prueba. Además, piense por qué los atributos de a2 y a3 deben ser Integer y Double en lugar de int y double.

/ * Desarrollar una clase Apple genérica , requiriendo un peso de atributo de peso para instanciar diferentes objetos genéricos en la clase de prueba * /

clase pública Apple <T> {

    T Peso;

 

    Apple pública () {

    }

 

    Apple pública (peso T) {

        Peso = peso;

    }

 

    public T getWeight () {

        peso de retorno;

    }

 

    public void setWeight (peso T) {

        Peso = peso;

    }

 

    @Anular

    public String toString () {

        devuelve "Apple {" +

                "Peso =" + Peso +

                '}';

    }

 

    / * Requiere que este atributo del objeto a1 sea ​​de tipo String , y este atributo del objeto a2 es de tipo Integer ,

     * Este atributo de a3 es de tipo Doble . A los atributos de peso de a1 , a2 y a3 se les asignan valores: " 500 gramos", 500 , 500.0 * /

    public static void main (String [] args) {

        Apple <String> a1 = new Apple <> ("500");

        Apple <Intero> a2 = nuevo Apple <> (500);

        Apple <Doble> a3 = nuevo Apple <> (500.0);

 

        / * En la clase de prueba, llame al descriptor de acceso para obtener el valor del atributo y generarlo * /

        System.out.println ("a1:" + a1.getWeight ());

        System.out.println ("a2:" + a2.getWeight ());

        System.out.println ("a3:" + a3.getWeight ());

    }

}

 

/ * ¿Por qué los atributos de a2 y a3 necesitan ser Integer y Double en lugar de int y double?

* Esto se debe a que el tipo genérico debe ser una clase, no un tipo de datos básico, por lo que el lugar donde se debe usar el tipo de datos básico debe reemplazarse con una clase de empaquetado

* * /

Encapsular una clase de noticias Noticias, que contiene tres propiedades de título de noticias, autor de noticias, contenido de noticias y tipo de noticias, proporciona los métodos de acceso y modificadores necesarios, anula el método toString y requiere que el formato de salida del objeto se imprima como "título ; escriba; autor ", se requiere que mientras el título de la noticia sea el mismo, se juzgue como la misma noticia. Cree una colección ArrayList que solo pueda contener objetos de este tipo en la clase de prueba y agregue tres novedades. Recorra la colección, imprima los titulares de las noticias y recorte los titulares de las noticias a la longitud de 10 caracteres chinos.

/ **

 * @autor Eightn0

 * @create 2021-03-18 22:10

 * Encapsular una categoría de noticias Noticias , incluidos tres atributos de título de la noticia, autor de la noticia, contenido de la noticia y tipo de noticia.

 * Proporcione los métodos de acceso y modificador necesarios, vuelva a escribir el método toString y requiera que el formato de salida sea "título; tipo; autor" al imprimir el objeto,

 * Se requiere juzgar las mismas noticias siempre que los títulos de las noticias sean los mismos.

 * Cree una colección ArrayList que solo pueda contener objetos de este tipo en la clase de prueba y agregue tres novedades.

 * Recorra la colección, imprima los titulares de las noticias y recorte los titulares de las noticias a la longitud de 10 caracteres chinos.

 * /

 

/ * Encapsular una categoría de noticias Noticias , incluidos tres atributos de título de la noticia, autor de la noticia, contenido de la noticia y tipo de noticia * /

 

class Society {

}

 

clase de entretenimiento {}

 

Noticias de clase pública <T> {

    Tipo T;

    Título de la cadena;

    Autor de la cadena;

    Cuerpo de cuerda;

 

    Noticias públicas () {

    }

 

    Noticias públicas (título de la cadena, autor de la cadena, cuerpo de la cadena) {

 

        this.title = título;

        this.author = autor;

        this.body = cuerpo;

    }

 

    / * Proporcionar los métodos de acceso y modificador necesarios * /

    public T getType () {

        tipo de retorno;

    }

 

    public void setType (tipo T) {

        Tipo = tipo;

    }

 

    public String getTitle () {

        título de devolución;

    }

 

    public void setTitle (título de cadena) {

        this.title = título;

    }

 

    public String getAuthor () {

        autor de retorno;

    }

 

    public void setAuthor (autor de la cadena) {

        this.author = autor;

    }

 

    public String getBody () {

        cuerpo de regreso;

    }

 

    public void setBody (String body) {

        this.body = cuerpo;

    }

 

    / * Reescribe el método toString y requiere que el formato de salida sea "título; tipo; autor" al imprimir el objeto * /

    @Anular

    public String toString () {

        volver "Noticias {" +

                ", título = '" + título +' \ '' +

                "Tipo =" + Tipo + '\' '+

                ", autor = '" + autor +

                '}';

    }

 

    / * Requiere que, siempre que el título de la noticia sea el mismo, se juzgue como la misma noticia. * /

    @Anular

    public boolean es igual a (Objeto o) {

        si (esto == o) devuelve verdadero;

        if (o == null || getClass ()! = o.getClass ()) devuelve falso;

        Noticias <?> Noticias = (Noticias <?>) O;

        return Objects.equals (título, news.title);

    }

 

    / * Cree una colección ArrayList que solo pueda contener objetos de este tipo en la clase de prueba y agregue tres novedades. * /

    public static void main (String [] args) {

        ArrayList <Noticias> newsList = new ArrayList <> (3);

        newsList.add (new News <Society> (" Buenas noticias, grandes recortes de precios ", "Ines", " grandes recortes de precios, grandes recortes de precios, grandes recortes de precios "));

        newsList.add (new News <Society> (" Malas noticias, gran aumento de precio ", "Ines", " gran aumento de precio, gran aumento de precio, gran aumento de precio "));

        newsList.add (new News <Entretenimiento> (" Sí, tenemos un hijo ", "Tony", " Dónde está el niño, dónde está dónde "));

 

        / * Recorre la colección, imprime los titulares de las noticias y recorta los titulares de las noticias a la longitud de 10 caracteres chinos. * /

        Iterador <Noticias> iterador = newsList.iterator ();

        while (iterator.hasNext ()) {

            Noticias noticias = iterator.next ();

            System.out.println (news.getTitle ());

        }

    }

}

Complete las siguientes tareas según sea necesario

  1. Utilice la clase HashMap para crear una instancia de un objeto de tipo Map m1. La clave (tipo String) y el valor (tipo int) se utilizan respectivamente para almacenar el nombre y el salario del empleado. Los datos almacenados son los siguientes: Zhang San-800 yuan; Li Si -1500 Yuan; Wang Wu-3000 Yuan;
  2. Cambiar el salario de Zhang San a 2.600 yuanes
  3. Aumento de 100 yuanes en el salario de todos los empleados;
  4. Recorre todos los empleados de la colección
  5. Recorre todos los salarios de la colección

 

public class HashMapTest {

    public static void main (String [] args) {

        / * Utilice la clase HashMap para crear una instancia de un objeto de tipo Map m1 , la clave ( tipo String ) y el valor ( tipo int ) se utilizan respectivamente para almacenar el nombre y el salario del empleado, * /

        HashMap <String, Integer> hashMap = new HashMap <> ();

        / * Los datos depositados son los siguientes:                                                    Zhang San- 800 yuanes; Li Si- 1500 yuanes; Wang Wu- 3000 yuanes * /

        hashMap.put (" Zhang San ", 800);

        hashMap.put (" Li Si ", 1500);

        hashMap.put ("王 五", 3000);

        / * Cambiar el salario de Zhang San a 2600 yuanes * /

        hashMap.replace (" Zhang San ", 2500);

        / * Aumentar el salario de todos los empleados en 100 yuanes * /

       

        / * Recorre todos los empleados de la colección , recorre todos los salarios de la colección * /

        Establecer <Map.Entry <String, Integer >> entradas = hashMap.entrySet ();

        Iterador <Map.Entry <String, Integer >> iterator = entries.iterator ();

        while (iterator.hasNext ()) {

            Map.Entry <String, Integer> entrada = iterator.next ();

            System.out.println (entry.getKey ());

            System.out.println (entrada.getValue ());

        }

    }

}

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/vivian233/article/details/115002120
Recomendado
Clasificación