Yandex

Java Advanced ConceptsJava Advanced Concepts3

Java ReferenceJava Reference1

Java null Keyword
Usage and Examples



null Keyword in Java

In Java, null is a special literal that represents the absence of a value for a reference type. It is not a keyword in the strictest sense (like class or public), but a reserved literal used to denote that an object reference does not point to any memory location yet.

Why Do We Use null?

Java is a statically typed language, which means every variable must have a type. For object references (non-primitive types), the null value is a way to indicate "no object". This is crucial in many scenarios such as:

Example: Assigning null to an Object

class Book {
    String title;
}

public class Main {
    public static void main(String[] args) {
        Book myBook = null; // myBook does not point to any Book object yet
        System.out.println(myBook); // prints: null
    }
}
null

Attempting to Access a null Reference

If you try to access members of a reference that is null, Java will throw a NullPointerException.

public class Main {
    public static void main(String[] args) {
        String text = null;
        System.out.println(text.length()); // Triggers NullPointerException
    }
}
Exception in thread "main" java.lang.NullPointerException
    at Main.main(Main.java:4)

How to Avoid NullPointerException

There are several ways to prevent runtime errors due to null values:

Example: Safe Null Check

public class Main {
    public static void main(String[] args) {
        String message = null;

        if (message != null) {
            System.out.println(message.length());
        } else {
            System.out.println("The string is null");
        }
    }
}
The string is null

Returning null from a Method

public class UserService {
    public String findUserById(int id) {
        if (id == 1) return "Alice";
        return null;
    }

    public static void main(String[] args) {
        UserService service = new UserService();
        String user = service.findUserById(2);

        if (user != null) {
            System.out.println("User found: " + user);
        } else {
            System.out.println("User not found");
        }
    }
}
User not found

Assigning null to Arrays and Custom Objects

public class Main {
    public static void main(String[] args) {
        int[] numbers = null;
        String[] names = new String[3];
        names[0] = "John";
        names[1] = null; // Valid usage

        System.out.println(names[1]); // prints: null
    }
}
null

Comparing with null

Always use == or != when comparing a reference to null.

String data = null;

if (data == null) {
    System.out.println("Data is null");
}
Data is null

Using null with Wrapper Classes

Wrapper classes like Integer, Double, and Boolean can hold null, unlike primitive types.

public class Main {
    public static void main(String[] args) {
        Integer count = null;

        if (count == null) {
            System.out.println("No value assigned to count");
        }
    }
}
No value assigned to count

Summary: Key Takeaways

Practice Tip

Whenever you get a NullPointerException, check the exact line and trace back the reference variable. Most of the time, it’s a missed initialization.



Welcome to ProgramGuru

Sign up to start your journey with us

Support ProgramGuru.org

You can support this website with a contribution of your choice.

When making a contribution, mention your name, and programguru.org in the message. Your name shall be displayed in the sponsors list.

PayPal

UPI

PhonePe QR

MALLIKARJUNA M