2.2.21 Java verhindert implizite Typumwandlungen, wenn aufgrund fehlender Zuweisungskompatibilität ein Datenverlust möglich ist. Wie kann man diesen Sicherheitsmechanismus umgehen und worauf muss man dabei achten, um die Stabilität der Software nicht zu gefährden ?

Wenn eine Typumwandlung trotz der (theoretischen) Möglichkeit eines Datenverlusts durchgeführt werden soll, muss sie explizit gemacht werden. In diesem Fall sollte aber dringend darauf geachtet werden, dass nicht tatsächlich ein Datenverlust (z. B. durch Überschreitung eines Wertebereichs oder Abschneiden von Nachkommastellen) vorkommen kann. Eine Annahme wie "Na ja, kommt eigentlich nicht vor ..." ist Gift für die Qualität Ihrer Software. Irgendwann kommt es nämlich doch vor. Stellen Sie durch Programmlogik sicher, dass es nicht zu (unbemerkten) Verlusten kommen kann. Im Zweifelsfall ist eine saubere Fehlermeldung immer noch besser als ein versteckter Fehler oder ein Programmabsturz !