How to check Date Null in Java?
In this section, we will be acknowledged about Date Null in Java. The date null in Java is an entity that is used when there is no specified value for a date. Since we are not supposed to leave it empty, we would declare date as null.
Introduction
Let discuss an instance where the real time application is described.
If you are working on a class called person, DateOfBirth is one of the person's fields, however you are unsure of how to treat dates that are uncertain. You have been utilizing java.time up to this point. You have been instantiating the field dateOfBirth's LocalDate to null upon instantiation. This isn't ideal because attempting to match dateOfBirth to other dates, like the LocalDate.now, causes null pointer exceptions ().
What is the most ideal method for dealing with dateOfBirth? You're just going to make a brand-new class and handle ambiguous dates internally, right? Or is there a more effective method? Since LocalDate is immutable, you can't simply expand it; you must go to the source instead.
The LocalDate is unboxed by get(), but if you don't have any LocalDates, it throws a NoSuchElementException. Like the dreaded NullPointerException, it is sadly an unchecked exception. Consequently, I would advise against adopting this technique.
When you want to only run certain code if you've had a value and leave everything else alone, the construct ifPresent(Consumer? super T> consumer) seems helpful.
orElseThrow(exception)
which throws said exception when you don't have a value. The exception can (and should be) a checked exception so you are forced to handle it.
If you don't have any values, orElse(T value) returns the fake value you supplied instead of unboxing the value.
The following is the solution for such an instance, it would absolutely work best
Class Optional<LocalDate>
In Java 8, a handy container class was introduced. It serves as a wrapper for values that you may or might not be familiar with. It is unboxed with a variety of techniques that all let you gracefully handle the situation where the value is unknown.
an object that serves as a container and may or may not hold a non-null value. Get() will yield the value and isPresent() would return true if a component is present.
Additional methods that rely on the existence or absence of a contained value are offered, including ifPresent() and orElse() (which returns a default value in the absence of a value)
Since this is a value-based class, it is best to avoid using identity-sensitive operations (such as referencing equality (==), identity hashing, or synchronization) on instances of Optional due to the possibility of unexpected outcomes.
You should just use null as an appropriate response in the scope of the database because we have it and it is commonly recognized across datastores.
There are probably two ways to generate the output
- By using if-else statements
- By using (=) operator
Let us know the algorithm of how they function
By using if-else statements
The leverage of the if-else statements would be as follows
if (date.equals(null)) {
//It prints that date is NULL
} else {
//It prints that date is NOT NULL
}
By using (=) operator
The leverage of the (=) operator to predict if the date is null or not null is as follows
if (date == null)
{
// It prints that date is null
}
Else
{
// It prints that the date is not null
}
Either this way or as follows
if (date != null)
{
// It prints that date is not null
}
Else
{
// It prints that the date is null
}
Now let us write a program that uses both the techniques and prints the output. I make sure the example program does not go complex.
File name: Null.java
// Java program that depicts if the date is null or not null using equals() and (=)
import java.io.*;
import java.util.*;
class Null
{
public static void main( String[] args )
{
Date date = showDate();
//check with if-else statement with equals()
if ( !date.equals( null ) )
{
System.out.println( "NOT NULL" );
}
else
{
System.out.println( "NULL" );
}
//check with if-else statement with = operator
if ( date!= null )
{
System.out.println( "NOT NULL" );
}
else
{
System.out.println( "NULL" );
}
}
public static Date showDate(){
return new Date();
}
}
Output
NOT NULL
NOT NULL