Warum konnte der Integer-Typ in der Java8-Stream-API nicht automatisch in den Double-Typ konvertiert werden?
Posted: 23 Dec 2024, 11:58
Wenn der Code den Wert „4“ vom Typ „Integer“ enthält, stimmt etwas nicht. Wenn Sie „4“ in „4.0“ ändern, ist das in Ordnung. Ich dachte, der Integer-Typ könne automatisch in den Double-Typ konvertiert werden, aber das war nicht der Fall. Was stimmt also mit meinem vorherigen Code nicht?
Wenn im folgenden Code ein Integer-Typ „4“ vorhanden ist, tritt der folgende Fehler auf:
Inkompatible Typen: Number & Comparable> ist nicht in double konvertierbar.
double minValue = Stream.of(4, 0.1).reduce(Double.MAX_VALUE, Double::min);
ABER wenn ich „4“ in den Double-Typ „4.0“ ändere, funktioniert es gut.
double minValue = Stream.of(4.0, 0.1).reduce(Double.MAX_VALUE, Double::min);
Wenn im folgenden Code ein Integer-Typ „4“ vorhanden ist, tritt der folgende Fehler auf:
Inkompatible Typen: Number & Comparable> ist nicht in double konvertierbar.
double minValue = Stream.of(4, 0.1).reduce(Double.MAX_VALUE, Double::min);
ABER wenn ich „4“ in den Double-Typ „4.0“ ändere, funktioniert es gut.
double minValue = Stream.of(4.0, 0.1).reduce(Double.MAX_VALUE, Double::min);