1. java基本类型:
数据类型 字节数 位数 值范围 默认值
整形 byte 1 8 -2^(8-1), 2^(8-1) - 1 即 (-128, 127) 0
short 2 16 -2^(16-1), 2^(16-1) -1 即 (-32768, 32767) 0
int 4 32 -2^(32-1), 2^(32-1) -1 即 (-2^31, 2^31 - 1) 0
long 8 64 -2^(64-1), 2^(64-1) -1 即 (-2^63, 2^63 - 1) 0L
浮点型 float 4 32 (1.4E-45, 3.4028235E38) 0.0f
double 8 64 (4.9E-324, 1.7976931348623157E308) 0.0d
布尔型 boolean 1 8 true, false false
字符型 char 2 16 (0, 2^16 - 1), 单引号括起来的一个字符 'u0000'转化为int是0
2. A是一个包装类,A a1=1, A a2=1, 则a1.equals(a2)结果为true,因为A重写了equals方法,相同的包装类比较的是数值;
3. IntegerCache, LongCache, ShortCache 的范围都是[-128, 127], Integer a=1, Integer b=1, a==b返回的是true,因为使用了cache里的对象;
4. 浮点型转BigDecimal,用BigDecimal.valueOf(),用new会使结果不对;
5. 比较BigDecimal,使用B1.compareTo(B2) ==0, B1.compareTo(B2) > 0, B1.compareTo(B2) < 0;
6. ArrayList并发修改,会报ConcurrentModificationException;