Originariamente inviata da
LeleFT
In realtà anche trovarsi di fronte agli errori è utile (anzi, molto più che utile): in questo modo impari a prendere confidenza con i messaggi di errore del compilatore e a destreggiarti per capirli e risolverli.
Prendiamo il tuo sorgente (così com'era nel tuo primo post) e proviamo a compilarlo. I messaggi del compilatore sono:
codice:
ForeachTest.java:5: cannot find symbol
symbol : class Collection
location: class ForeachTest
Collection<string> coll = new ArrayList<String>(); // <-- da errore qui
^
ForeachTest.java:5: cannot find symbol
symbol : class string
location: class ForeachTest
Collection<string> coll = new ArrayList<String>(); // <-- da errore qui
^
ForeachTest.java:5: cannot find symbol
symbol : class ArrayList
location: class ForeachTest
Collection<string> coll = new ArrayList<String>(); // <-- da errore qui
^
3 errors
Il compilatore dice che ci sono 3 errori e te li segnala tutti (con tanto di "punto in cui è stato generato" tramite il simbolo " ^ "). Vediamoli uno per uno:
Primo errore:
codice:
ForeachTest.java:5: cannot find symbol
symbol : class Collection
location: class ForeachTest
Collection<string> coll = new ArrayList<String>(); // <-- da errore qui
^
cannot find symbol: significa che ha incontrato un "simbolo" (ovvero una parola) che non è riuscito a riconoscere (può essere una variabile mai dichiarata, il nome di una classe che non esiste, ecc). Lui ti dice tutto:
1) L'errore lo ha trovato nel file "ForeachTest.java" alla riga 5 (ForeachTest.java:5)
2) Il simbolo che non è riuscito ad identificare è la scritta "Collection" in un posto in cui si aspetta il nome di una classe.
3) Tale simbolo è stato trovato dentro alla classe ForeachTest
4) Ti fa vedere la riga di codice e il punto esatto ( ^ ) dove compare il simbolo non trovato.
Quindi lui ti sta dicendo che tu hai scritto "Collection" ma che lui non sa cosa sia, e questo, quando avrai un po' di pratica, è eloquente: non hai "importato" la classe Collection... manca l'import.
Secondo errore:
codice:
ForeachTest.java:5: cannot find symbol
symbol : class string
location: class ForeachTest
Collection<string> coll = new ArrayList<String>(); // <-- da errore qui
^
Di nuovo: cannot find symbol. Stavolta il simbolo è la scritta "string". In questo caso è banale: il nome della classe è stato scritto male perchè è in minuscolo, mentre i nomi delle classi (nel core standard di Java) sono tutte con la maiuscola
Terzo errore:
codice:
ForeachTest.java:5: cannot find symbol
symbol : class ArrayList
location: class ForeachTest
Collection<string> coll = new ArrayList<String>(); // <-- da errore qui
^
Di nuovo... cannot find symbol. Sta volta il simbolo è "ArrayList". Il nome della classe è scritto giusto, quindi significa solo che non trova tale classe... ed infatti, manca l'import.
Ciao.