Errori nella compilazione

di il
4 risposte

Errori nella compilazione

Buongiorno.
Vorrei eseguire questo programma pero' ci sono degli errori che non riesco a capire .
E' giusto scrivere il programma in questo modo ? Prima si crea il package e di seguito le classi Libro.java e ProveGenerics.java .
Mi evidenzia i seguenti errori :

List<Libro> biblioteca = new LinkedList<Libro>();
String l3 = new String("Madame Bovary");
Iterator it = biblioteca.iterator();

Se provo a scrivere Libro I3 invece di String I3 va in errore

Potete cortesemente aiutarmi ? Grazie.
Allegati:
21412_dd7b0d1d04cdebc26a3e4fc35ac7a77f.jpg
21412_dd7b0d1d04cdebc26a3e4fc35ac7a77f.jpg

21412_5275865df964703d44a0bdccdb989c76.jpg
21412_5275865df964703d44a0bdccdb989c76.jpg

4 Risposte

  • Re: Errori nella compilazione

    FabioJ ha scritto:


    Potete cortesemente aiutarmi ? Grazie.
    Innanzitutto gli screenshot non sono molto leggibili .... ma qualcosa si vede.

    Comunque in generale, se non ci sono questioni specifiche, metti le classi come public e anche il costruttore come public. Mi riferisco alla classe Libro.

    Riguardo la classe ProveGenerics, i tipi List, LinkedList e Iterator sono del package java.util, quindi vanno importati (cosa che non hai fatto e quindi hai quei errori).
    Anche Iterator è un tipo "generico", quindi anch'esso va parametrizzato (nel tuo caso Iterator<Libro> ).

    E tieni presente che invece di

    String l3 = new String("Madame Bovary");

    si può e dovrebbe fare

    String l3 = "Madame Bovary";

    Il costruttore di String che riceve un String sostanzialmente è ... una fesseria (ma è lì per motivi storici).

    E infine, se hai un String l3, ovviamente NON puoi fare biblioteca.add(l3), perché biblioteca è una lista di oggetti Libro ... non di String.
  • Re: Errori nella compilazione

    AndBin , non so come ringraziarti.
    A qualcosa ero arrivato pero' lontano dalla soluzione .

    In ogni modo , ho corretto il programma pero' ancora ci sono un paio di errori .

    Libro.java sembra corretto , gli errori sono Provegenerics.java.

    Un errore meno grave sta sempre nel List<Libro>...etc etc .

    Forse non gli piace perché' ho aggiunto import java.*; forse questa libreria non può stare in due parti

    Non gli piace neanche il getTitolo() del .. System.out.println(it.next().getTitolo());
    E per questo non stampa nulla a video ..
    Allegati:
    21412_dc71548343b01a0b97b9467bab9f75c1.jpg
    21412_dc71548343b01a0b97b9467bab9f75c1.jpg
  • Re: Errori nella compilazione

    FabioJ ha scritto:


    Un errore meno grave sta sempre nel List<Libro>...etc etc .
    La riga 7 ha un pallino giallo .. è un warning (non un errore). Ma di per sè è corretta. Che warning ti dice?

    FabioJ ha scritto:


    Non gli piace neanche il getTitolo() del .. System.out.println(it.next().getTitolo());
    Perché l'ho detto prima: Iterator va parametrizzato

    Iterator<Libro>

    Se non lo parametrizzi, è un "raw type" e it.next() ha come tipo tecnicamente Object, che ovviamente non ha getTitolo()
    Se lo parametrizzi, it.next() ha come tipo la parametrizzazione (Libro) e quindi è corretto.
  • Re: Errori nella compilazione




    Il risultato risulta essere :

    run:
    Anna Karenina
    I demoni
    BUILD SUCCESSFUL (total time: 0 seconds)
Devi accedere o registrarti per scrivere nel forum
4 risposte