Coffeehouse Post

Single Post Permalink

View Thread: Java value types Vs .NET
  • User profile image

    , magicalclick wrote

    ?? I think Integer is fine? It is essentially

    public class Interger


     int _value;

     override operator = .....


    But, still, Integer is not int. It cost extra pointer in memory. Unless I am wrong? Which no one has yet to explain how Integer is structured.

    IMO, Integer[ one billion ] = ( 64bits pointer + 32bits value ) * one billion. Which is absolutly big no no in my previous examples.

    And just for me only, I totally don't like to use objects when I can use primitives. Some people can debate this to death, but, I want to use int, that's all that matters.


    Java doesn't do operator overloading, so:

    public static void doStuff(Integer i) {
      i = 5;

    is equivalent to:

    public static void doStuff(Integer i) {
      i = new Integer(5);

    You're only changing doStuff's reference to i, not changing its actual value (the caller won't see the change).  You actually can't do the latter; Integer is immutable in Java.

    [edit] And now I remember why I stopped posting.  Why in the world does this piece of crap forum dump you back to the first page of a thread when you post?