在编码时,为了实现计数,我们可能会在for循环中对原始类型
或者包装类型
的值(对于包装类型是实例
)进行自增,那么它们两种写法的区别如何?我们可以写出如下测试代码:
private static void primitive() {
int i = 0;
i++;
System.out.println(i);
}
private static void wrapper() {
Integer i = 0;
i++;
System.out.println(i);
}
截图自字节码查看工具jclasslib
primitive
方法:
wrapper
方法:
可以看到包装类型的自增比原始类型复杂得多,应尽量避免这种情况。
(29 words)