Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Boxing (computer programming)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Automatic unboxing=== With automatic unboxing the compiler automatically supplies the extra source code that retrieves the value out of that object, either by invoking some method on that object, or by other means. For example, in versions of Java prior to J2SE 5.0, the following code did not compile: <syntaxhighlight lang=Java> Integer k = new Integer(4); int l = k.intValue(); // always okay int m = k; // would have been an error, but okay now </syntaxhighlight> C# doesn't support automatic unboxing in the same meaning as Java, because it doesn't have a separate set of primitive types and object types. All types that have both primitive and object version in Java, are automatically implemented by the C# compiler as either primitive (value) types or object (reference) types. In both languages, automatic boxing does not downcast automatically, i.e. the following code won't compile: C#: <syntaxhighlight lang="csharp"> int i = 42; object o = i; // box int j = o; // unbox (error) Console.WriteLine(j); // unreachable line, author might have expected output "42" </syntaxhighlight> Java: <syntaxhighlight lang="java"> int i = 42; Object o = i; // box int j = o; // unbox (error) System.out.println(j); // unreachable line, author might have expected output "42" </syntaxhighlight>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)