0
点赞
收藏
分享

微信扫一扫

Boxing and Unboxing


C#

It is best to avoid using value types in situations where they must be boxed a high number of times, for example in non-generic collections classes such as ​​System.Collections.ArrayList​​​. You can avoid boxing of value types by using generic collections such as ​​System.Collections.Generic.List​​. Boxing and unboxing are computationally expensive processes. When a value type is boxed, an entirely new object must be created. This can take up to 20 times longer than a simple reference assignment. When unboxing, the casting process can take four times as long as an assignment.

Java

Converting a primitive value (an int, for example) into an object of the corresponding wrapper class (Integer) is called autoboxing. The Java compiler applies autoboxing when a primitive value is:

  • Passed as a parameter to a method that expects an object of the corresponding wrapper class.
  • Assigned to a variable of the corresponding wrapper class.

Converting an object of a wrapper type (Integer) to its corresponding primitive (int) value is called unboxing. The Java compiler applies unboxing when an object of a wrapper class is:

  • Passed as a parameter to a method that expects a value of the corresponding primitive type.
  • Assigned to a variable of the corresponding primitive type.

个人微信公众号:

Boxing and Unboxing_拆箱

作者:jiankunking​


举报

相关推荐

0 条评论