Integer

JDK中整形类型的范围

在JDK中,整型类型是有范围的,最大值为Integer.MAX_VALUE,即2147483647,最小值为Iinteger.MIN_VALUE,即-2147483648。
整形最大值加1后越界成为最小值。
整形最小值取反或取绝对值仍为最小值,因为2147483648超过最大值。

  1. Integer.MAX_VALUE + 1 = Integer.MIN_VALUE;
  2. Math.abs(Integer.MIN_VALUE) = Integer.MIN_VALUE; //绝对值

Integer缓冲区

java预先创建了256个常用整数包装类型对象用于节约内存,当数值为-128~127时,从缓冲区内直接赋值地址,当超出这个区间时new一个新的对象。
将两个Integer类型用==比较,超出-128~127时会返回false,要用intValue()进行比较。