null Keyword Usage and Examples
Learn about the Java null keyword, its purpose, usage, and common pitfalls. Understand how null is used to indicate the absence of a value in reference types, with real-world examples and outputs.
This reference explains null Keyword Usage and Examples through its syntax, examples and boundaries. Use the linked course lessons when the surrounding Java concepts are unfamiliar.
Use this reference
Identify the documented behavior, read a complete example and check its inputs before applying it.
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:
- Indicating uninitialized state
- Returning 'no result' from a method
- Resetting object references
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:
- Check if the reference is
nullbefore accessing it - Use default object initialization
- Employ the Optional API (Java 8+)
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
nullis used with reference types to indicate absence of a value.- Accessing members of a
nullreference throwsNullPointerException. - Always perform null checks before accessing reference variables.
- Use default values or the
Optionalclass to write safer code.
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.
Using this reference
Check the example’s types, inputs and documented behavior before copying it into an application. Some APIs require external libraries, files or platform services; consult their setup notes.
Related explanations: Java Data Types - Primitive and Non-Primitive, Java Class - Blueprint of Objects, Exceptions in Java Introduction.
Supporting documentation: Official Java learning guide.
Reference checks are optional and do not count toward course progress.