Sobes.tech
Junior — Middle

Hai esperienza pratica nell'uso delle funzioni e delle nuove funzionalità introdotte in Java 8?

sobes.tech AI

Risposta dell'AI

Sì, in Java 8 sono state introdotte nuove funzionalità importanti che hanno semplificato e migliorato notevolmente il codice:

  • Espressioni lambda — consentono di scrivere funzioni anonime compatte, facilitando il lavoro con le interfacce funzionali.

  • API Stream — fornisce un modo comodo per elaborare le collezioni di dati in stile funzionale (filtraggio, trasformazione, aggregazione).

  • Metodi di default nelle interfacce — permettono di aggiungere implementazioni di metodi nelle interfacce senza disturbare il codice esistente.

  • Optional — classe per lavorare con valori potenzialmente assenti, aiuta a evitare NullPointerException.

Esempio di utilizzo di Stream e lambda:

import java.util.*;
import java.util.stream.*;

public class Example {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("Anna", "Bob", "Charlie", "David");
        List<String> filtered = names.stream()
            .filter(name -> name.startsWith("A"))
            .map(String::toUpperCase)
            .collect(Collectors.toList());

        System.out.println(filtered); // [ANNA]
    }
}