questions - Question:int vs Integer


int vs Integer
    Newbies are often confused by the difference between int and Integer.
    To properly understand the difference, you should read an introductory textbook on Java. I will make a small stab at answering here.
    Everything I say here applies analogously to char and Character, short and Short, long and Long, float and Float, double and Double.
    An int is a primitive. It is not an Object. An int is a high performance, streamlined beast for calculating numbers in the range -2,147,483,648 [-231] aka Integer.MIN_VALUE to +2,147,483,647 [2 31-1] aka Integer.MAX_VALUE. An int is a bare bones 32-bit chunk of information. int variables are mutable. Unless you mark them final, you can change their value at any time.
    An Integer, is a Object that contains a single int field. An Integer is much bulkier than an int. It is sort like a Fedex box to contain the int. Integers are immutable. If you want to affect the value of a Integer variable, the only way is to create a new Integer object and discard the old one.
    Which is better?
    That is like asking which is better a volley ball or a volleyball in a Fedex box. It depends what you want to do with it.
    int vs Integer
    ability unboxed
    int boxed
    Calculate with it, + - * / % ^ etc.
    Pass it as a parameter
    return it as a value
    Use methods on it from java.lang.Integer
    Store it in a Vector or other Collection
    Use it as a HashMap key
    serialize it
    send it by itself over RMI (Remote Method Invocation)
    send it as part of another Object over RMI
    pass it as a generic object to a TableCellRenderer. You may pass a variety of different types via the same paramter.
    Allow for a null value that means there is no value.
    Fortunately it is easy to convert back and forth between int and Integer.
    // to int i from Integer ii
    int i = ii.intValue();
    // to Integer ii from int i
    Integer ii = new Integer( i );

asked Sep 13, 2013 in Java Interview Questions by rajesh
edited Sep 12, 2013 by rajesh
0 votes

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:
To avoid this verification in future, please log in or register.