Previously when we touched on AutoBoxing in Java, we only had a glimpse of what Java 5 onwards could do. If you are studying for SCJP 6 (the latest SCJP as of date of print), this will definitely help yourself to be prepared for the Exam. Now let’s have a look at some of the examples.
It is definitely correct if one does a comparison of numeric values like the following example.
Integer first = 1; int one = 1; if (one == first) System.out.println("Same value");
Now what about if I were to do it this way?
Integer First = 1; int one = first; System.out.println("Value of one is: " + one);
So now we know that Integer and int can co-relate with each another ever since AutoBoxing was introduced into Java 5. Now here’s a question. Which of these is illegal?
Integer a = 01; Integer string = null; Integer lock = 2.4; Integer enum = 1;
The answer to this is a little bit tricky.
First there are only 2 right answers. The answers for this little quiz is Number 1 and 2 is legal. Yes, and this will be the outcome if they were both printed seperately.
Integer a is 1 Integer string is null
Number 3 and 4 are both deemed illegal and would not even be able to compile due to the value 2.4 is a double that cannot be casted to Integer. For Number 4, enum is a reserved word. Some of us might even get confused as to why number 2 is right? Shouldn’t string be a reserved word?
Of course, String is a reserved word, while string is not a reserved word. One is uppercase, one is lowercase. Java is indeed more flexible compared to the Java 1.4 days.