Multiple choice technology programming languages

Given: 1. class Convert { 2. public static void main(String[] args) { 3. Long xL = new Long(456L); 4. long x1 = Long.valueOf("123"); 5. Long x2 = Long.valueOf("123"); 6. long x3 = xL.longValue(); 7. Long x4 = xL.longValue(); 8. Long x5 = Long.parseLong("456"); 9. long x6 = Long.parseLong("123"); 10. } 11. } Which will compile using Java 5, but will NOT compile using Java 1.4? (Choose all that apply.)

  1. Line 4

  2. Line 5

  3. Line 6

  4. Line 7

  5. Line 8

  6. Line 9

Reveal answer Fill a bubble to check yourself
A,D,E Correct answer
Explanation

Java 5 introduced autoboxing. Line 4: Long.valueOf returns Long but assigns to long - unboxing works in Java 5, not 1.4. Line 5: Long to Long assignment works in both. Line 7: longValue() returns long but assigns to Long - boxing works in Java 5, not 1.4. Line 8: parseLong returns long, assigning to Long requires boxing in Java 5 only.