Informationen zu Datensätzen, die zur Vorschau in Java JDK 14 hinzugefügt wurden

Einführung

Java ist auch schnell und JDK 15 wird bald veröffentlicht! (Geplant für September 2020) Um ehrlich zu sein, konnte ich JDK14 nicht einholen, was kurz zuvor war. Nach vielen Recherchen fand ich heraus, dass das Konzept von "Records" als Vorschau-Version auf JDK14 veröffentlicht wurde, also schrieb ich einen kleinen Artikel.

Was ist Aufzeichnungen?

Unten. https://openjdk.java.net/jeps/359 Der Datensatz wird jetzt zur Datenspeicherung bereitgestellt Die Klasse mit diesem Ergebnis führt zu einem unveränderlichen Objekt. Insbesondere hat es die folgende Form.

record Point(int x, int y) { }

Das Obige führt zu den folgenden Klassen.

class Point extends Record {
  private final int x;
  private final int y;

  public Point(int x, int y) {
    this.x = x;
    this.y = y;
  }

  public int x() {
    return x;
  }
  public int y() {
    return y;
  }

  public int hashCode() { ... }
  public boolean equals() { ... }
  public String toString() { ... }
}

Wie oben erwähnt, ist die Feldvariable mit Ausnahme des Konstruktors unveränderlich. Eine Klasse, die die Methoden von equals`` hashCode`` toString implementiert, wird generiert.

Es scheint, dass der Wert des Arguments wie folgt überprüft werden kann.

record Point(int x, int y) {
  public Range {
    //Wenn für y nur Werte kleiner als x eingestellt werden können
    if (x > y) throw IllegalArgumentException();
    //Der Wert wird festgelegt, ohne ihn explizit wie unten gezeigt festzulegen.
    // this.x = x;
    // this.y = y;
  }
}

Impressionen

Es ist immer noch eine Vorschau-Version, daher ist unklar, was in Zukunft passieren wird. Ich dachte, dass es intuitiv verständlich wäre, wenn man es in DTO oder mit "Record" verwendet. Persönlich war der Ausdruck "benanntes Tupel" der beste. Für diejenigen, die es genauer wissen möchten, war der folgende Artikel sehr einfach zu verstehen. https://www.infoq.com/jp/articles/java-14-feature-spotlight/

Java entwickelt sich stetig weiter ... Ich werde richtig aufholen. Danke fürs Lesen!

Recommended Posts

Informationen zu Datensätzen, die zur Vorschau in Java JDK 14 hinzugefügt wurden
Eine Geschichte über das JDK in der Java 11-Ära
Über Java Abstract Class
Liste der in Java 9 hinzugefügten Mitglieder
Informationen zur Dateikopierverarbeitung in Java
Liste der in Java 9 hinzugefügten Typen
Informationen zum Zurückgeben einer Referenz in einem Java Getter
[Erstellen] Ein Memorandum über das Codieren in Java
[Java] Setzen Sie AdoptOpen JDK in STS (Eclipse)
Fortsetzung Sprechen Sie über das Schreiben von Java mit Emacs @ 2018
Über die Java-Schnittstelle
Über die Verwirrung beim Starten von Java-Servern
Über die Idee anonymer Klassen in Java
Java Installation jdk
[Java] Über Arrays
Versuchen Sie, etwa 30 Zeilen in Java zu kratzen (CSV-Ausgabe)
Änderungen in Java 11
Informationen zu in Java verwendeten Variablen (lokaler Variablentyp)
Janken in Java
Etwas über Java
Wo ist mit Java?
Informationen zu Java-Funktionen
Über Java-Threads
[Java] -Schnittstelle
Über die Java-Klasse
Informationen zu Java-Arrays
Über Java-Vererbung
Über Schnittstelle, Java-Schnittstelle
Umfangsrate in Java
FizzBuzz in Java
Über Java Var
Über Java Literal
Informationen zu Java-Befehlen
Ich habe leicht verständlich über Java Downcast geschrieben
[Java] Hinweise zur Typinferenz in Java 10
Denken Sie an das JAVA = JAVAscript-Problem (wird in Zukunft benötigt).
Informationen zur Konvertierung von Zeichenfolgen in Java in voller Breite und halber Breite
Informationen zur Java-Protokollausgabe
Informationen zur Java-Funktionsschnittstelle
Lesen Sie JSON in Java
Machen Sie einen Blackjack mit Java
Java, über zweidimensionales Array
Einschränkungsprogrammierung in Java
Über die Klassenteilung (Java)
Setzen Sie Java8 in Centos7
Fragen und Antworten zu JDK
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
Über [Java] [StreamAPI] allMatch ()
Die in JDK 14 veröffentlichte Vorschau der Datensätze ist nett, also versuchen wir es mit JShell
Informationen zur Java StringBuilder-Klasse
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
[Java] Über Singleton Class
Kommentare in der Java-Quelle
Azure funktioniert in Java
[Java] Über anonyme Klassen
Informationen zu Aufteilungsmethoden (Java)