Sobes.tech
Junior — Middle

Kas teil on praktilisi kogemusi Java 8-s tutvustatud funktsioonide ja uute võimaluste kasutamisel?

sobes.tech AI

Vastus AI-lt

Jah, Java 8-sse tutvustati olulisi uusi võimalusi, mis oluliselt lihtsustasid ja parandasid koodi:

  • Lambda avaldised — võimaldavad kirjutada kompaktseid anonüümseid funktsioone, mis hõlbustavad tööfunktsionaalsete liideste kasutamist.

  • Stream API — pakub mugavat viisi andmekogumite töötlemiseks funktsionaalses stiilis (filtreerimine, teisendamine, kogumine).

  • Vaikimisi meetodid liideste sees — võimaldavad lisada meetodite rakendusi liideste kaudu, ilma olemasolevat koodi rikkumata.

  • Optional — klass, mis töötab võimaliku väärtuse puudumisega, aitab vältida NullPointerException-i.

Näide Streami ja lambda kasutamisest:

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]
    }
}