数据类型 大小 范围 默认值
byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’
boolean(布尔型) 1 true/false false
查看JDK源代码
ArrayList实现依赖数组
HashMap实现依赖数组嵌套数组
一个Array的下标是一个int整形数字,所以理论上ArrayList的长度就是2的31次方
以此类推
在eclipse中可以验证
Object[] o = new Object[2147483647]; 正确
Object[] o = new Object[2147483648]; 错误
同理String的数据结构,其实是一个String的数组,那么String最长就是2的31次方长度
一个字符是16位,那么String的占的位数可以是16*2的31次方 (位)