Page 1 of 1

Warum konnte der Integer-Typ in der Java8-Stream-API nicht automatisch in den Double-Typ konvertiert werden?

Posted: 23 Dec 2024, 11:58
by Anonymous
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);