Ungenauigkeit von Long-Werten in JavaScript

Mit Java generierte Long-Zahlen können auf einem 64-Bit-Betriebssystem einen Maximalwert von 9223372036854775807 annehmen. Diese 19-stellige Zahl kann von einem JavaScript-Client jedoch nicht verarbeitet werden.
Ungenauigkeit von Long-Werten in JavaScript weiterlesen

java.lang.Integer cannot be cast to java.lang.Long

Die Warnung: „java.lang.Integer cannot be cast to java.lang.Long“ tritt auf, wenn versucht wird ein Integer in einen Long zu casten. Zum Beispiel mit:

long myLongNumber = (Long) collection.getProperty("myInteger");

Wenn das der Fall ist, hilft ein Casting in den generalisierten Typ Number, von welchem über die Methode longValue ein Long-Wert erhalten werden kann:

long userId = ((Number) collection.getProperty("myInteger")).longValue();