Skip to content

Records in Java – 2026-02-10 (UDEMY)

Definition und Einführung

Records sind eine spezielle Klassenart in Java.

  • Eingeführt in Java 14 (Preview)
  • Seit Java 16 offiziell Bestandteil der Sprache
  • Konzipiert für reine Datenklassen

Records sind standardmäßig:

  • immutable
  • kompakt in der Syntax
  • stark reduziert im Boilerplate-Code

Der Compiler generiert automatisch:

  • Konstruktor
  • equals()
  • hashCode()
  • toString()
  • Accessor-Methoden

Grundsyntax

public record RecordName(Typ1 feld1, Typ2 feld2) {}

Beispiel

public record Person(String name, int age) {}

Automatisch generiert:

  • Konstruktor Person(String name, int age)
  • Accessor-Methoden:
  • name()
  • age()
  • equals()
  • hashCode()
  • toString()

Wichtig:
Keine klassischen Getter (getName()), sondern:

person.name();
person.age();

Vorteile von Records

Vorteil Erklärung
Weniger Boilerplate Keine manuelle Implementierung von Getter, equals, etc.
Immutable Felder sind implizit private final
Automatische Methoden equals, hashCode, toString werden generiert
Kompakte Syntax Sehr kurze Klassendefinition

Einschränkungen von Records

Einschränkung Erklärung
Keine Klassenvererbung Records können keine andere Klasse erweitern
Keine zusätzlichen Instanzfelder Nur Felder aus dem Header
Keine Setter Immutable
Eingeschränkte Flexibilität Fokus auf Datenhaltung

Records können jedoch:

  • Interfaces implementieren
  • Zusätzliche Methoden enthalten
  • Validierung im Konstruktor durchführen

Records vs. POJOs

Merkmal Record POJO
Zweck Datenhaltung Allgemeine Klassen
Immutable Immer Optional
Boilerplate Minimal Hoch
Vererbung Nicht möglich Möglich
Flexibilität Eingeschränkt Hoch

Accessor-Methoden

Records generieren automatisch Accessor-Methoden mit dem Feldnamen:

String name = person.name();
int age = person.age();

Nicht:

person.getName();

Wann Records verwenden?

  • DTOs (Data Transfer Objects)
  • Wertobjekte (z. B. Point, Range)
  • Datenmodelle ohne komplexe Logik
  • Immutable Objekte

Wann POJOs verwenden?

  • Wenn Vererbung benötigt wird
  • Bei komplexer Geschäftslogik
  • Wenn Objekte veränderbar sein sollen
  • Wenn zusätzliche Felder außerhalb des Headers nötig sind

Prüfungsrelevante Kernaussagen

  • Records sind seit Java 16 Standard
  • Immer immutable
  • Automatische Generierung wichtiger Methoden
  • Keine Setter
  • Keine Klassenvererbung möglich
  • Ideal für reine Datenstrukturen

Metadaten anzeigen

Teil der FIAE-Umschulung (2025-2027) am BFW Muehlenbeck.
Diese Mitschrift entstand am 10.02.2026 im Rahmen eines Udemy-Kurses.
Die Version wurde inhaltlich ueberarbeitet und strukturell optimiert,
um Lernerfolg und Nachvollziehbarkeit zu foerdern.

Quelle: Eigene Mitschrift (Udemy)
Autor: Sean Conroy
Lizenz: CC BY-NC-SA 4.0

```