NullPointer Exception NullPointer Exception

NPE

NullPointerException or NPE is an error every Java programmer is familiar with. This error holds the record for irritating programmers.

First, let's understand the concept of the null value for a string variable. When we create a string variable but forget to initialize, it acquires a null value. In comparison, if we don't initialize an int variable, it acquires a value of 0.

Let's consider an example of a string variable with a null value:

java

Main.java

As you can see, the output on the screen is null, and the code seems to be working. But let's now try using any method with a variable with the null value:

java

Main.java

When attempting to call any method on a string variable with a null value, we receive a NullPointerException.

You might think this error is not so serious, but later, when you receive values not written by you personally, you may often come across it. Therefore, it is crucial to understand how to resolve this error now.

Ways to avoid NPE:

  • Be attentive. If you create a string variable, double-check if you have initialized it;
  • Use a null check before using the variable, for example:
java

Main.java

Task

I have a string array, and I'm trying to print it using a for-each loop, but I keep encountering an error that's already bothering me. Resolve this issue so that the data from my array will be displayed on the screen.

java

Main.java

  1. 1. Use a null check using an if statement.
  2. 2. Check each element for null; if it passes the check, proceed with it.

package com.example;

public class Main {
    public static void main(String[] args) {
        String[] array = {"laptop", "room", "java", "carpet", null, "chair", "data", null, "bob"};
        for (String element : array) {
            if (element != null) { //null check
                System.out.print(element.toUpperCase() + " ");
            }
        }
    }
}
      
      

question-icon

Will NPE be thrown?

Select the correct answer

Everything was clear?

Section 5. Chapter 5