Ich habe die Implementierung von Double.isFinite()
wobei DoubleConsts.MAX_VALUE
ist double sun.misc.DoubleConsts.MAX_VALUE
mit dem Wert 1.7976931348623157E308
. Dies scheint äquivalent zu Double.MAX_VALUE
zu sein, was definiert ist als:
Warum verwendet diese Implementierung die Konstante aus dem sun.misc
-Paket anstelle von Double.MAX_VALUE
?
( Float.isFinite
verwendet die gleiches Muster)
Der Grund scheint hauptsächlich ein historischer zu sein:
Die Funktionalität dieser Methoden wurde zuvor in sun.misc.FpUtils
gefunden. Diese Klasse hängt nicht direkt von Double
ab, sie importiert nur
so machte die Implementierung dort mehr Sinn - es scheint, dass es genau dasselbe war:
%Vor% Siehe auch Das Ticket, das zum Verschieben in Double