Quote Originariamente inviata da Lucym80 Visualizza il messaggio
sperando che l'indentazione sia corretta.
No, per quanto si vede, indentazione e spaziature non sono "buone".

Quote Originariamente inviata da Lucym80 Visualizza il messaggio
L'errore è questo
Exception in thread "main" java.lang.NullPointerException
at EserciziJava.esercizio2.ApplicazioneArchivio.lambd a$0(ApplicazioneArchivio.java:8)
Beh, è abbastanza semplice: in DatiArtista hai creato un array new Artista[100] ma poi hai creato solo 4 oggetti Artista. Quindi gli altri 96 elementi dell'array restano al loro valore di default che è null .
Il problema poi capita qui quando cerchi di ordinare l'array:

Arrays.sort(artisti, (a,b)->a.getCognome().compareTo(b.getCognome()));

Qui a e/o b POSSONO quindi essere null. E non puoi ovviamente invocarci un getCognome() su un null. Pertanto la questione diventa: come vuoi trattare i null nell'ordinamento? Devono venire prima o dopo valori non-null? Di per sé sarebbe sufficiente migliorare/espandere il criterio di comparazione per gestire anche i null.

Quote Originariamente inviata da Lucym80 Visualizza il messaggio
Preciso che Eclipse non lo vede come errore, ma me lo dà solo in esecuzione.
Le eccezioni avvengono a runtime ... il compilatore non può sapere nulla di cosa accade in fase di esecuzione ...