Why use longs if values are restricted to Integer.MAX_VALUE?