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();