Quindi fa un controllo del tipo null=="fine" che di per se non ha senso e quindi da l'eccezione.
Ora vorrei cercare di chiarirmi un po' un dubbio che ho.
Questo è un esercizio che ho svolto che chiedeva di scrivere qualcosa da tastiera e poi salvare quel qualcosa su un file:
L'esercizio l'ho svolto e funziona però ho un dubbio.codice:List<String> listaStringhe = new ArrayList<>(); try (InputStreamReader lettore = new InputStreamReader(System.in); BufferedReader buffer = new BufferedReader(lettore)) { String stringa = null; stringa = buffer.readLine(); while (stringa != null) { if(stringa.equals("fine")) { System.out.println("programma terminato"); break; } System.out.println("hai digitato: " + stringa); listaStringhe.add(stringa); stringa = buffer.readLine(); } File dir = new File("C:\\Users\\Utente\\Desktop\\JAVA\\src\\file"); File file = new File(dir, "file creato.txt"); FileWriter scrittore = new FileWriter(file); for(String parola : listaStringhe) { scrittore.write(parola + " | "); } scrittore.close(); }
Leggendo sul manuale ho potuto capire che i Decorator sono sottoclassi che in genere hanno bisogno di agganciarsi ad un Component per poter funzionare.
Io nel mio esercizio ho utilizzato un Component (BufferedReader) agganciandolo ad un altro Component (InputStreamReader) e quindi usandolo come un Decorator e successivamente un Decorator (FileWriter) non agganciandolo a niente.
E' vero che l'esercizio l'ho svolto e funziona però sono andato più a intuito e rileggendo il manuale mi sembra che in questo teoria (quindi utilizzo del pattern Decorator) e pratica non coincidono.
Mi aiutate a capire?

Rispondi quotando