Records
public record Kurz(String nazev, int cena) {}
Immutabilní datový typ zdarma — equals, hashCode, toString.
Sealed classes
public sealed interface Platba permits Karta, Prevod, Faktura {}
Kompilátor pohlídá vyčerpávající switch.
Pattern matching
String popis = switch (platba) {
case Karta k -> "Kartou " + k.cislo();
case Prevod p -> "Převod " + p.iban();
case Faktura f -> "Faktura " + f.cislo();
};
Proč to řešit?
Méně bugů, čitelnější kód, žádný Lombok. Java se přiblížila Kotlinu a C#.
Vše probíráme v našem Java kurzu.