Integer is not different than any other Java Object (with the previously noted exception that the jvm provides some help to avoid duplication in the smaller values). Perhaps one thing that makes it seem confusing is the auto-conversion between 'int' and Integer. I could see that appearing to be confusing at first. The main thing to remember is that if you want to do numeric comparisons like ==, <, > etc. just make sure you are doing them on 'ints' not Integers.