convert Optional<Date> into Optional<LocalDate>

guguli

Bekanntes Mitglied
Hallo zsammen,

ich möchte gerne Optional<Date> in Optional<LocalDate> zu wandeln.

Code:
protected Optional<Localdate> getPruefDatum(Object entity) {
        if(entity instanceof KlasseA) {
            return Optional.of((KlasseA)entity).map(KlasseA::getDate);
        }
        
        return Optional.empty();
    }

das porblem ist dass getDate ein Date zurück gibt. ich benötige aber LocalDate andiese Stelle. Wie kann ich in dieser Konstrukt von Optional<Date> in Optional<LocalDate> wechseln??

Danke
 

Phash

Top Contributor
Code:
...
    return Optional.of((KlasseA)entity).map(obj -> convertToLocalDateViaInstant(obj));
}

//kannst du natürlich anpassen:
public LocalDate convertToLocalDateViaInstant(Date dateToConvert) {
    return dateToConvert.toInstant()
      .atZone(ZoneId.systemDefault())
      .toLocalDate();
}
 

httpdigest

Top Contributor
Du kannst einfach ein weiteres Optional.map anhängen:
Java:
    if (entity instanceof KlasseA) {
      return Optional
          .of((KlasseA) entity)
          .map(KlasseA::getDate)
          .map(date -> date.toInstant()
                           .atZone(ZoneId.systemDefault())
                           .toLocalDate());
    }
    return Optional.empty();
 

guguli

Bekanntes Mitglied
ich möchte nun eine abfrage bzw. überprüfen ob das datum im nächsten Kalender jahr liegt.
Soll heißen wenn heute 21.11.2019 ist dann kann das Datum höchstens 31.12.2020 sein.
wie kann ich das mit LocalDate machen? ne Idee vllt?
 

guguli

Bekanntes Mitglied
ich denke so müsste funktionieren oder?

Code:
datum.get().isAfter(LocalDate.of(LocalDate.now().getYear() + 1, 12, 31))
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Flo :3 Variablen Type dismatch: cannot convert from string to int Java Basics - Anfänger-Themen 9
G convert Date to LocalDate Java Basics - Anfänger-Themen 11
A convert String in Datumsformat Java Basics - Anfänger-Themen 2
E Input/Output convert string to two dimensional char and output = matrix Java Basics - Anfänger-Themen 2
T Cannot convert from Integer to int Java Basics - Anfänger-Themen 12
M Meldung "cannot convert flom boolean to boolean[]" Java Basics - Anfänger-Themen 3
C cannot convert from int to boolean Java Basics - Anfänger-Themen 3
J convert int to hexadecimal? Java Basics - Anfänger-Themen 5
sc0p convert 2 Jar - GUI nicht komplett Java Basics - Anfänger-Themen 9
J Convert object to boolean Java Basics - Anfänger-Themen 7
K Convert UTF-8 String to ANSI Java Basics - Anfänger-Themen 11
K Convert Properties to File Java Basics - Anfänger-Themen 2
S Convert InetAddress to String Java Basics - Anfänger-Themen 3
B Fehlermeldung: cannot convert from int to byte Java Basics - Anfänger-Themen 2
S StringToInt() - Type mismatch: cannot convert from... Java Basics - Anfänger-Themen 16
S Fehlermeldung Cant convert java.awt.TextField to int Java Basics - Anfänger-Themen 12
G "cannot convert from long to int" - problem Java Basics - Anfänger-Themen 9
S Cannot Convert Array Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben