Java LocalDate compareTo-Methode

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du die compareTo()-Methode aus der LocalDate-Klasse in Java verwendest. Diese Methode wird verwendet, um zwei verschiedene Datumsangaben zu vergleichen und gibt einen ganzzahligen Wert zurück.

LocalDate-Paket importieren

Füge den folgenden Import-Befehl am Anfang der Datei hinzu, um die LocalDate-Klasse zu importieren:

import java.time.LocalDate;

Datumsangaben mit compareTo() vergleichen

In diesem Schritt wirst du zwei verschiedene Datumsangaben mit der compareTo()-Methode vergleichen und das Ergebnis der Vergleichsoperation ausgeben. Füge den folgenden Code zur main()-Methode hinzu:

    // Nehme ein Datum
    LocalDate date1 = LocalDate.of(2021, 12, 31);
    // Gebe das Datum aus
    System.out.println("Datum 1 ist : "+date1);
    // Nehme ein weiteres Datum
    LocalDate date2 = LocalDate.now();
    // Gebe das Datum aus
    System.out.println("Datum 2 ist : "+date2);

    // Vergleiche zwei Datumsangaben mit compareTo()
    int result = date1.compareTo(date2);

    // Gib an, ob Datum 1 vor, nach oder gleich Datum 2 ist
    if(result<0){
      System.out.println("Datum 1 ist vor Datum 2");
    }
    else if(result>0){
      System.out.println("Datum 1 ist nach Datum 2");
    }
    else{
      System.out.println("Beide Datumsangaben sind gleich");
    }

Führe den Code aus

Speichere die Datei und führe im Terminal den folgenden Befehl aus:

javac DateComparator.java && java DateComparator

Ändere die Datumsangaben und vergleiche

In diesem Schritt wirst du die für den Vergleich verwendeten Datumsangaben ändern und das Ergebnis betrachten. Ersetze in dem Code die folgende Zeile:

LocalDate date1 = LocalDate.of(2021, 12, 31);

Mit einem anderen Datum und führe den Code erneut aus.

Vergleiche identische Datumsangaben

In diesem Schritt wirst du die für den Vergleich verwendeten Datumsangaben so ändern, dass sie identisch sind. Ersetze in dem Code die folgende Zeile:

LocalDate date2 = LocalDate.now();

Mit dem gleichen Datum wie date1 und führe den Code erneut aus.

Vergleiche das heutige Datum mit einem zukünftigen Datum

In diesem Schritt wirst du das heutige Datum mit einem zukünftigen Datum vergleichen. Ersetze in dem Code die folgende Zeile:

LocalDate date1 = LocalDate.of(2021, 12, 31);

Mit einem beliebigen zukünftigen Datum und führe den Code erneut aus.

Vergleiche das heutige Datum mit einem vergangenen Datum

In diesem Schritt wirst du das heutige Datum mit einem vergangenen Datum vergleichen. Ersetze in dem Code die folgende Zeile:

LocalDate date1 = LocalDate.of(2021, 12, 31);

Mit einem beliebigen vergangenen Datum und führe den Code erneut aus.

Verwende ein anderes ChronoLocalDate-Objekt

In diesem Schritt wirst du ein anderes Objekt verwenden, das von ChronoLocalDate abgeleitet ist, anstatt LocalDate, und zwei verschiedene Datumsangaben vergleichen. Zunächst erstelle eine neue Klasse namens MyDate und füge den folgenden Code hinzu:

import java.time.chrono.ChronoLocalDate;

public class MyDate implements ChronoLocalDate {

  // Füge die Implementierungsdetails für das ChronoLocalDate-Schnittstelle hinzu
  //...

}

Dann ersetze die LocalDate-Variablen durch MyDate-Variablen und passe die Implementierungsdetails für die MyDate-Klasse erforderlichenfalls an. Führe den Code erneut aus, um sicherzustellen, dass er weiterhin funktioniert.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie in Java verschiedene Datumsangaben mit der compareTo()-Methode aus der LocalDate-Klasse vergleichen. Sie haben auch gelernt, wie Sie die Ausgabe basierend auf dem Ergebnis des Vergleichs anzeigen und wie Sie den Code für verschiedene Testfälle modifizieren.