セクション 5. 章 5
single
NullPointerException(ヌルポインタ例外)
メニューを表示するにはスワイプしてください
NPE
文字列変数のnull値の概念について説明。
文字列変数を作成して初期化を忘れると、null値が設定される。
一方、int変数を初期化しない場合、値は0になる。
null値を持つ文字列変数の例:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
画面に表示される出力はnullであり、コードは動作しているように見える。しかし、null値を持つ変数でメソッドを使用しようとするとどうなるか:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
文字列変数がnull値の場合に、任意のメソッドを呼び出そうとするとNullPointerExceptionが発生。
NPEを回避する方法:
- 注意深く確認。文字列変数を作成した場合、初期化されているか再確認;
- 変数を使用する前にnullチェックを実施。
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String string = null; if (string == null) { // null check System.out.println("Can't use methods with string, because value is null"); } else { System.out.println(string); } } }
タスク
スワイプしてコーディングを開始
従業員のメールアドレスを処理するシステムを開発しています。
一部のメールアドレスが欠落(null)している場合があります。
nullでなく、正しい形式のメールアドレスのみを検証して処理する必要があります。
- 従業員のメールアドレスの配列が与えられます。
- 配列内の各
emailをループ処理します。 - 各要素について:
- emailが
nullでないことを確認します emailに@記号が含まれているかを確認します
- emailが
- 両方の条件を満たす場合は、メールアドレスをコンソールに出力します。
- それ以外の場合は、
"Invalid or missing email"と出力します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 5. 章 5
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください