Javaでは、 ヌル 文字通りです。主に変数に null 値を代入するために使用されます。文字列、オブジェクト、日付と時刻などには null 値を使用できます。int、float などのプリミティブ データ型に null 値を割り当てることはできません。
プログラミングでは、通常、オブジェクトまたは文字列に対して何らかのタスクを実行するために、オブジェクトまたは文字列が null であるかどうかをチェックする必要があります。 NULL 文字列をチェックするために、文字列の事前定義メソッドがいくつかあります。さまざまなデータ型の例をいくつか挙げて、データ型が null かどうかを確認する方法を理解しましょう。
弦
Java では、String は null、空、または空白にすることができ、それぞれが個別です。
1. 空の文字列は、何らかの値を持つ文字列オブジェクトですが、その長さはゼロに等しいです。例えば:
String str1 = ''
2. 空白文字列は、値として空白を含む文字列です。その長さは常に 0 より大きく、空でも null でもありません。例えば:
String str2 = ''
3. NULL 文字列には値がありません。文字列を NULL にするには、 ヌル キーワードをその値として使用します。例えば:
String str3 = null
String が null かどうかを確認するには、比較演算子 (==) を使用します。 null チェックにどのように使用できるかを理解するために、その例を見てみましょう。
NullCheckExample1.java
// import required classes and packages packagejavaTpoint.javacodes; // create class NullCheckExample1 class to check whether a string is empty or null class NullCheckExample1 { // main() method start public static void main(String[] args) { // create null, empty, and blank strings String string1 = null; String string2 = ''; String string3 = ' '; String string4 = 'Test'; // check whether string1 is null, empty, or blank System.out.println('string1 is ' + checkNullEmptyBlank(string1)); // check whether string2 is null, empty, or blank System.out.println('string2 is ' + checkNullEmptyBlank(string2)); // check whether string3 is null, empty, or blank System.out.println('string3 is ' + checkNullEmptyBlank(string3)); // check whether string4 is null, empty, or blank System.out.println('string4 is ' + checkNullEmptyBlank(string4)); } // create checkNullEmptyBlank() method which check whether the string is empty, null or blank and return result to the main() method public static String checkNullEmptyBlank(String strToCheck) { // check whether the given string is null or not if (strToCheck == null) { return 'NULL'; } // check whether the given string is empty or not else if(strToCheck.isEmpty()) { return 'EMPTY'; } // check whether the given string is blank or not else if(strToCheck.isBlank()) { return 'BLANK'; } else { return 'neither NULL, EMPTY nor BLANK'; } } }
出力:
日付およびDateTimeオブジェクト
Date と DateTime は両方とも非プリミティブ データ型であるため、NULL 値を格納できます。 NULL の日付または日時オブジェクトをチェックする方法を理解するために、日付と時刻オブジェクトの例を見てみましょう。
NullCheckExample2.java
//import required classes and packages packagejavaTpoint.javacodes; importjava.text.ParseException; importjava.text.SimpleDateFormat; importjava.util.Date; importjava.util.Scanner; //create class NullCheckExample2 class to check whether the Date object is null or not public class NullCheckExample2 { // declare a variable of date type and initialize it with null public static Date d1 = null; public static Date finalResult; // main() method start public static void main(String args[]) { // declare a variable of type string that will store the user-entered date in string format String d2; // create scanner class object Scanner sc = new Scanner(System.in); System.out.print('Enter Date in dd/mm/yyyy format:'); // take input from user and initialize variable d2 = sc.nextLine(); // close scanner class obj sc.close(); // create an instance of the SimpleDateFormat class for modifying the date object SimpleDateFormatobj = new SimpleDateFormat('dd/MM/yyyy'); // use try-catch to parse string to date try { finalResult = obj.parse(d2); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } // check whether date1 and date2 is null or not by using comparison operator if(d1 == null) { System.out.println('Date d1 is NULL.'); } if(finalResult == null) { System.out.println('Date d2 is NULL.'); }else { System.out.println('Date d2 is not NULL.'); } } }
出力:
Javaオブジェクト
Java オブジェクトが Null かどうかを確認するには、 オブジェクト クラスまたは比較演算子。 Java オブジェクトの null チェックに isNull() メソッドまたは比較演算子を使用する方法を理解するための例を見てみましょう。
NullCheckExample3.java
// import required classes and packages packagejavaTpoint.javacodes; // create NullCheckExample3 class to check whether Java object is null or not public class NullCheckExample3 { // main() method start public static void main(String[] args) { // create instance of User2 User2 userObj = new User2(); // get data of User2 by calling User1 firstUser = userObj.getFirstUser(); // check whether firstUser is null or not if (firstUser == null) { System.out.println('Object is Null'); } else { System.out.println('Object is not Null'); // set name for user1 firstUser.setName('Paul'); System.out.println(firstUser.getName()); } } } // create User1 class having a name attribute class User1 { // declare name variable String name; // getter for getting name of User1 public String getName() { // return name of User1 return name; } // setter for setting name of User1 public void setName(String name) { this.name = name; } } // create class User2 having variable of type User1 class User2 { User1 obj; // getter to get object of User1 public User1 getFirstUser() { returnobj; } }
出力:
NullCheckExample4.java
// import required classes and packages packagejavaTpoint.javacodes; importjava.util.Objects; // create NullCheckExample3 class to check whether Java object is null or not public class NullCheckExample4 { // main() method start public static void main(String[] args) { // create instance of User2 User2 userObj = new User2(); // get data of User2 by calling User1 firstUser = userObj.getFirstUser(); // check whether firstUser is null or not if (Objects.isNull(firstUser) ){ System.out.println('Object is Null'); } else { System.out.println('Object is not Null'); // set name for user1 firstUser.setName('Paul'); System.out.println(firstUser.getName()); } } } // create User1 class having a name attribute class User1 { // declare name variable String name; // getter for getting name of User1 public String getName() { // return name of User1 return name; } // setter for setting name of User1 public void setName(String name) { this.name = name; } } // create class User2 having variable of type User1 class User2 { User1 obj; // getter to get object of User1 public User1 getFirstUser() { returnobj; } }
出力: