This shows you the differences between two versions of the page.
poo-ca-cd:laboratoare:java-features [2025/01/07 22:13] dragos.dragan1403 [Obiective] |
poo-ca-cd:laboratoare:java-features [2025/01/08 10:20] (current) dragos.dragan1403 [flatMap și groupingBy] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 11: Java features ===== | + | ===== Laboratorul 11: Streams. Java features ===== |
==== Obiective ==== | ==== Obiective ==== | ||
* familiarizarea cu metode default și cu metode statice în interfețe | * familiarizarea cu metode default și cu metode statice în interfețe | ||
Line 227: | Line 227: | ||
</code> | </code> | ||
- | Interfața [[https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/function/Function.html | Function<T, R>]] expune și metode care pot înlănșui alte operașii de tipul Function. | + | Interfața [[https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/function/Function.html | Function<T, R>]] expune și metode care pot înlănțui alte operații de tipul Function. |
* [[https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/function/Function.html#andThen(java.util.function.Function) | andThen(Function<T, R>)]] - functia data ca parametru este executata dupa cea la care este apelata metoda | * [[https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/function/Function.html#andThen(java.util.function.Function) | andThen(Function<T, R>)]] - functia data ca parametru este executata dupa cea la care este apelata metoda | ||
* [[https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/function/Function.html#compose(java.util.function.Function) | compose(Function<T, R>)]] - functia data ca parametru este executata inainte de cea la care este apelata metoda | * [[https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/function/Function.html#compose(java.util.function.Function) | compose(Function<T, R>)]] - functia data ca parametru este executata inainte de cea la care este apelata metoda | ||
Line 272: | Line 272: | ||
<code java> | <code java> | ||
IntStream.range(1, 4) | IntStream.range(1, 4) | ||
- | .forEach(System.out::println); | + | .forEach(System.out::println); // 1 2 3 |
</code> | </code> | ||
Line 328: | Line 328: | ||
String[] myNewArray = Arrays.stream((String[])myArray.toArray()) | String[] myNewArray = Arrays.stream((String[])myArray.toArray()) | ||
.filter(x -> x.length() > 4) | .filter(x -> x.length() > 4) | ||
- | .toArray(String[]::new); | + | .toArray(String[]::new); // "monkey", "elephant", "zebra" |
</code> | </code> | ||
Line 400: | Line 400: | ||
</code> | </code> | ||
- | <hidden> | ||
==== var ==== | ==== var ==== | ||
În Java 10, ''var'' a fost întrodus pentru a face munca unui programator mai lejeră și acesta poate fi folosit doar în interiorul blocurilor de cod (nu poate fi folosit în declararea câmpurilor unei clase sau la semnătura unei metode). | În Java 10, ''var'' a fost întrodus pentru a face munca unui programator mai lejeră și acesta poate fi folosit doar în interiorul blocurilor de cod (nu poate fi folosit în declararea câmpurilor unei clase sau la semnătura unei metode). | ||
Line 464: | Line 463: | ||
*/ | */ | ||
+ | <hidden> | ||
==== Limbajul Kotlin ==== | ==== Limbajul Kotlin ==== | ||
Kotlin reprezintă un limbaj de programare orientat pe obiecte, creat încât să fie interoperabil cu Java, mai precis Kotlin rulează în același mediu cu Java (în JVM), astfel noi putem să avem un proiect în care să avem clase scrise în Java și clase scrise în Kotlin, o practică care este întâlnită în proiecte din industrie (backend, Android). | Kotlin reprezintă un limbaj de programare orientat pe obiecte, creat încât să fie interoperabil cu Java, mai precis Kotlin rulează în același mediu cu Java (în JVM), astfel noi putem să avem un proiect în care să avem clase scrise în Java și clase scrise în Kotlin, o practică care este întâlnită în proiecte din industrie (backend, Android). |