01: What is wrong with following Java code snippets? Auto-unboxing, switch, short circuit & exception

Auto-unboxing, switch, short circuit logical operators & exception handling are core Java basics that sometimes lead to obscure errors if not understood well & often tested in coding tests.

Q1. What is wrong with this code?

A1. compile-error at switch(i) as switch works only with “int” and “String” (i.e. from Java 7 onwards) data types.

Q2. What is wrong with this code?

A2. “java.lang.NullPointerException” at “entry.value > 0”. Use short circuit “&&” instead to not check “entry.value > 0” when “entry == null”.

Q3. What is wrong with this code?

A3. The output will be

This is because of the hidden danger of autoboxing.

1) map.put(new Integer(1), “Hello World”); // auto boxed
2) map.get(new Byt(1)); // null

Integer(1) != Byte(1).

Q4. What is wrong with this code?

A4. java.lang.NullPointerException due to autounboxing. The two expressions around “:” must return the same type. This means Java tries to convert the expression d2 to primitive “double” value. This means the call “doubleValue()” on d2, which is null will throw a “java.lang.NullPointerException”

Q5. What is wrong with this code?

A5. Compile-time error. Exceptions are polymorphic in nature and more specific exceptions need to be caught before the generic exceptions. So, “IOException” must be caught before “Exception”.

300+ Java & Big Data Interview FAQs

16+ Java Key Areas Interview Q&As

800+ Java Interview Q&As

300+ Java & Big Data Tutorials