基本数据类型
概览
数据类型
字节
位数
默认值
boolean
1
false
byte
1
8
0
short
2
16
0
char
2
16
u0000
int
4
32
0
float
4
32
0f
double
8
64
0d
long
8
64
0l
包装类缓存
基于性能和资源的考虑,integer和character,Boolean都添加了缓存。在范围之内不会新生成对象。
拆箱和装箱
xxxValue拆箱,value.of()装箱。
尽量避免拆箱和装箱引起的不必要的性能浪费。
private static long sum() {
// 应该使用 long 而不是 Long
Long sum = 0L;
for (long i = 0; i <= Integer.MAX_VALUE; i++)
sum += i;
return sum;
}浮点数计算,精度丢失
float a = 2.0f - 1.9f;
float b = 1.8f - 1.7f;
System.out.println(a);// 0.100000024
System.out.println(b);// 0.099999905
System.out.println(a == b);// false计算机在表示一个数字时,有宽度限制,超出了限制就会被截断。因此无法使用浮点数进行计算。
在涉及金钱计算的系统,使用BigDecimal
Last updated
Was this helpful?