Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ヌルポインタ例外 | 文字列
Java基礎

ヌルポインタ例外

NPE

文字列変数のnull値の概念について説明。 文字列変数を作成して初期化を忘れると、null値が設定される。 一方、int変数を初期化しない場合は、値は0になる。

null値を持つ文字列変数の例:

Main.java

Main.java

12345678
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }

画面に表示される出力はnullであり、コードは正常に動作しているように見える。しかし、null値を持つ変数でメソッドを使用しようとするとどうなるか:

Main.java

Main.java

123456789
package 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

Main.java

123456789101112
package 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); } } }
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  5
single

single

ヌルポインタ例外

メニューを表示するにはスワイプしてください

NPE

文字列変数のnull値の概念について説明。 文字列変数を作成して初期化を忘れると、null値が設定される。 一方、int変数を初期化しない場合は、値は0になる。

null値を持つ文字列変数の例:

Main.java

Main.java

12345678
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }

画面に表示される出力はnullであり、コードは正常に動作しているように見える。しかし、null値を持つ変数でメソッドを使用しようとするとどうなるか:

Main.java

Main.java

123456789
package 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

Main.java

123456789101112
package 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でなく、かつ正しい形式のメールアドレスのみを検証し、処理することです。

  1. 従業員のメールアドレスの配列が与えられます。
  2. 配列内の各emailをループ処理します。
  3. 各エントリについて:
    • emailが**nullでない**ことを確認
    • さらに、@記号が含まれているかを確認
  4. 両方の条件を満たす場合、メールアドレスをコンソールに出力します。
  5. それ以外の場合は、
    "Invalid or missing email" と出力します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt