请问一下装箱与拆箱哪个更费性能?为什么?
装箱更费性能.装箱需要在托管堆上分配内存,将线程栈上对象的各个字段复制到托管堆上,再返回托管堆上对象的地址;拆箱仅仅是获取托管堆上对象各字段的地址,并不涉及分配内存和复制数据.
用int i=(int)o;这种方式拆箱时拆箱完后立刻会进行一次复制,但那次复制并不属于拆箱的过程.
有装卸,那难免会有拆箱,所以性能是不可避免的。那么解决方面可以用“泛型”来弥补装卸与拆箱。