質問するログイン新規登録

Q&A

2回答

293閲覧

Javaで文字列が空かどうか判定する方法について

jean613

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2026/06/10 08:04

0

0

【やりたいこと】

Javaで文字列が空かどうかを判定したいです。

【試したこと】

以下のコードを書いてみました。

java

1String str = ""; 2 3if(str.isEmpty()){ 4 System.out.println("empty"); 5} 6 7【質問】 8 9この方法で問題ないでしょうか? 10 11また、nullの場合も考慮する場合はどのように書くのが一般的でしょうか? 12 13Java初心者のため、わかりやすく教えていただけると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

otn

2026/06/16 14:20

> nullの場合も考慮する場合はどのように書くのが一般的でしょうか? nullの時にどうするのかの一般論は無いでしょうね。質問のような場合だと、おそらくは、 ・空とnullを同じ扱いにする ・空とnullはそれぞれ別の扱いにする ・nullの場合は例外にする のどれかでしょう。 どれを選ぶかは機能の設計の問題です。 例えば「nullになることはプログラムバグ(や設定ミス)以外にあり得ない」なら例外ですかね(これ以外のケースで例外にしない方がいいという意味では無いです)。 nullの扱いが決まれば、回答を参考にすればできると思います。
guest

回答2

0

以下のようなメソッドを作り、呼び出し元でエラーチェック(try-catch)を強制する方法があります

static void emptyErrorCheck(String chars) throws Exception{ if(chars==null||"".equals(chars)) throw new Exception("文字が未入力、または空白文字のみの入力により文字列として認識されませんでした"); }

throws Exceptionで修飾されたメソッドの呼び出し元は同じくthrows Exceptionであるかtry-catchを実装することが義務付けられます
もし上記のいずれも満たさない場合はコンパイルエラーで弾かれるため、チェック漏れを事前に回避できます

Main.java:7: error: unreported exception Exception; must be caught or declared to be thrown

nullチェックをelseで独自に設けるかは実装によります
処理を分ける場合はcatch句で定義すると比較的安全です

public static void main(String[] args) { // Your code here! try{ String comment=null; emptyErrorCheck(comment); System.out.println(comment); } catch(Exception e){ if(comment==null){ } else{ } } }

エラーチェックが完全であれば単純な条件分岐で十分ですが、万全を期すならばコンパイルエラーで検知可能な条件を整えると安心です

投稿2026/06/10 09:22

編集2026/06/10 09:28
Manabu

総合スコア165

0

そのサンプルコードでは、
String str = "";
と初期化しいるので、そのままで問題ないですが、nullの場合を考慮するのであれば、nullチェックをすればよいと思います。

if (str == null || str.isEmpty()) {
// 値がない
}

また、Java11以降なら

if (str == null || str.isBlank()) {
// null または空白のみ
}

と書くことが多いようです。

投稿2026/06/10 08:47

stockflowlab

総合スコア22

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問