{"id":127,"date":"2014-04-23T11:25:00","date_gmt":"2014-04-23T10:25:00","guid":{"rendered":"https:\/\/debuggersspace.com\/index.php\/2014\/04\/23\/what-is-boxing-and-unboxing\/"},"modified":"2014-04-23T11:25:00","modified_gmt":"2014-04-23T10:25:00","slug":"what-is-boxing-and-unboxing","status":"publish","type":"post","link":"https:\/\/debuggersspace.com\/index.php\/2014\/04\/23\/what-is-boxing-and-unboxing\/","title":{"rendered":"What is boxing and unboxing ?"},"content":{"rendered":"<div class='booster-block booster-read-block'>\n                <div class=\"twp-read-time\">\n                \t<i class=\"booster-icon twp-clock\"><\/i> <span>Read Time:<\/span>45 Second                <\/div>\n\n            <\/div><div dir=\"ltr\" style=\"text-align: left;\">\n<h2 style=\"box-sizing: border-box; color: #4466c5; font-weight: normal; line-height: 30px; margin: 15px 0px 10px; padding-left: 0px; text-align: justify;\">\n<span style=\"background-color: white; font-family: Times, Times New Roman, serif; font-size: small;\">Boxing<\/span><\/h2>\n<div style=\"box-sizing: border-box; color: #161616; line-height: 24px; padding: 7px 0px 0px; text-align: justify; vertical-align: top;\">\n<span style=\"background-color: white; font-family: Times, Times New Roman, serif;\">Implicit conversion of a value type (int, char etc.) to a reference type (object), is known as Boxing. In boxing process, a value type is being allocated on the heap rather than the stack.<\/span><\/div>\n<h2 style=\"box-sizing: border-box; color: #4466c5; font-weight: normal; line-height: 30px; margin: 15px 0px 10px; padding-left: 0px; text-align: justify;\">\n<span style=\"background-color: white; font-family: Times, Times New Roman, serif; font-size: small;\">Unboxing<\/span><\/h2>\n<div style=\"box-sizing: border-box; color: #161616; line-height: 24px; padding: 7px 0px 0px; text-align: justify; vertical-align: top;\">\n<span style=\"background-color: white; font-family: Times, Times New Roman, serif;\">Explicit conversion of same reference type (which is being created by boxing process); back to a value type is known as unboxing. In unboxing process, boxed value type is unboxed from the heap and assigned to a value type which is being allocated on the stack.<\/span><\/div>\n<h3 style=\"box-sizing: border-box; line-height: 30px; margin: 15px 0px 10px; padding-left: 0px; text-align: justify;\">\n<span style=\"background-color: white; font-family: Times, Times New Roman, serif; font-size: small;\">For Example:<\/span><\/h3>\n<ol style=\"box-sizing: border-box; color: #9d9d9d; font-weight: bold; line-height: 24px; margin-bottom: 0px; margin-top: 0px; text-align: justify; white-space: pre-wrap;\">\n<li style=\"box-sizing: border-box;\"><span style=\"box-sizing: border-box; color: #4e9b00; font-style: italic; margin: 0px; vertical-align: top;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\">\/ int (value type) is created on the Stack<\/span><\/span><\/li>\n<li style=\"box-sizing: border-box;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\"><span style=\"box-sizing: border-box; color: #5353a6; margin: 0px; vertical-align: top;\">int<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> <\/span><span style=\"box-sizing: border-box; color: #5353a6; margin: 0px; vertical-align: top;\">stackVar<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> <\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">=<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> <\/span><span style=\"box-sizing: border-box; color: #007efd; margin: 0px; vertical-align: top;\">12<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">;<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> <\/span><\/span><\/li>\n<li style=\"box-sizing: border-box;\"><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\">&nbsp;<\/span><\/span><\/li>\n<li style=\"box-sizing: border-box;\"><span style=\"box-sizing: border-box; color: #4e9b00; font-style: italic; margin: 0px; vertical-align: top;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\">\/\/ Boxing = int is created on the Heap (reference type)<\/span><\/span><\/li>\n<li style=\"box-sizing: border-box;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\"><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">object boxedVar <\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">=<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> <\/span><span style=\"box-sizing: border-box; color: #5353a6; margin: 0px; vertical-align: top;\">stackVar<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">;<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> <\/span><\/span><\/li>\n<li style=\"box-sizing: border-box;\"><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\">&nbsp;<\/span><\/span><\/li>\n<li style=\"box-sizing: border-box;\"><span style=\"box-sizing: border-box; color: #4e9b00; font-style: italic; margin: 0px; vertical-align: top;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\">\/\/ Unboxing = boxed int is unboxed from the heap and assigned to an int stack variable<\/span><\/span><\/li>\n<li style=\"box-sizing: border-box;\"><span style=\"background-color: white; font-family: Times, Times New Roman, serif;\"><span style=\"box-sizing: border-box; color: #5353a6; margin: 0px; vertical-align: top;\">int<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> unBoxed <\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">=<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\"> <\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">(<\/span><span style=\"box-sizing: border-box; color: #5353a6; margin: 0px; vertical-align: top;\">int<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">)<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">boxedVar<\/span><span style=\"box-sizing: border-box; color: #393124; margin: 0px; vertical-align: top;\">;<\/span><\/span><\/li>\n<\/ol>\n<div style=\"text-align: justify;\">\n<span style=\"color: #393124; font-family: Times, Times New Roman, serif;\"><span style=\"line-height: 24px; white-space: pre-wrap;\"><b style=\"background-color: white;\"><br \/><\/b><\/span><\/span><\/div>\n<div style=\"text-align: justify;\">\n<span style=\"color: #393124; font-family: Times, Times New Roman, serif;\"><span style=\"line-height: 24px; white-space: pre-wrap;\"><b style=\"background-color: white;\">Another Example:<\/b><\/span><\/span><\/div>\n<div style=\"text-align: justify;\">\n<pre style=\"border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; text-align: left; vertical-align: baseline; width: auto; word-wrap: normal;\"><code style=\"background-color: white; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;\"><span style=\"border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;\">int<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\"> x <\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">=<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\"> <\/span><span style=\"border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;\">10<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">;<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">\n<\/span><span style=\"border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;\">string<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\"> s <\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">=<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\"> <\/span><span style=\"border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;\">string<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">.<\/span><span style=\"border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;\">Format<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">(<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\"> <\/span><span style=\"border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;\">\"The value of x is {0}\"<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">,<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\"> x <\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\">);<\/span><span style=\"border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;\"> <\/span><span style=\"border: 0px; color: grey; margin: 0px; padding: 0px; vertical-align: baseline;\">\/\/ x is boxed here<\/span><\/code><\/pre>\n<pre style=\"background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; text-align: left; vertical-align: baseline; width: auto; word-wrap: normal;\"><code style=\"border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;\"><span style=\"background-color: transparent; border: 0px; color: grey; margin: 0px; padding: 0px; vertical-align: baseline;\">\n<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Boxing Implicit conversion of a value type (int, char etc.) to a reference type (object), is known as Boxing. In boxing process, a value type is being allocated on the heap rather than the stack. Unboxing Explicit conversion of same reference type (which is being created by boxing process); back to a value type is [&hellip;]<\/p>\n","protected":false},"author":43,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[24],"tags":[],"class_list":["post-127","post","type-post","status-publish","format-standard","hentry","category-c-net"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Himanshu Namdeo","author_link":"https:\/\/debuggersspace.com\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Boxing Implicit conversion of a value type (int, char etc.) to a reference type (object), is known as Boxing. In boxing process, a value type is being allocated on the heap rather than the stack. Unboxing Explicit conversion of same reference type (which is being created by boxing process); back to a value type is&hellip;","_links":{"self":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts\/127"}],"collection":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/comments?post=127"}],"version-history":[{"count":0,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts\/127\/revisions"}],"wp:attachment":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/media?parent=127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/categories?post=127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/tags?post=127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}