カテゴリ: Java 更新日: 2026/03/26

JavaのStringクラスとendsWithメソッドを完全解説!初心者でも理解できる文字列の末尾チェック

endsWithメソッド
endsWithメソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaで文字列が特定の文字列で終わっているかどうかを確認する方法はありますか?」

先生

「はい、JavaではStringクラスのendsWithメソッドを使うと、特定の文字列で終わっているかを簡単に確認できます。」

生徒

「それは便利ですね!どのように使うんですか?」

先生

「では、基本的な使い方を詳しく見ていきましょう!」

1. JavaのStringクラスとは?文字列操作の基本を学ぼう

「1. JavaのStringクラスとは?文字列操作の基本を学ぼう」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

1. JavaのStringクラスとは?文字列操作の基本を学ぼう
1. JavaのStringクラスとは?文字列操作の基本を学ぼう

JavaのStringクラスは、文字の並び(テキストデータ)を扱うための専用ツールのようなものです。プログラミングにおいて、ユーザーの名前を表示したり、ファイル名をチェックしたりと、文字列を使わないシーンはほとんどありません。Java初心者の方がまず最初にマスターすべき、非常に重要なクラスです。

このクラスには、文字列を切り取ったり、長さを調べたりするための便利な「メソッド(機能)」がたくさん詰まっています。今回紹介する末尾チェックも、その強力な機能のひとつです。

大きな特徴として、Stringクラスは不変(immutable)という性質を持っています。これは「一度作った文字列の中身は絶対に変わらない」というルールです。例えば、文字列の一部を書き換える操作をしても、元の文字列が変化するのではなく、新しい文字列が別に作成されます。この仕組みによって、Javaのプログラムは安全かつ高速に動作するよう設計されています。

プログラミング未経験の方へ: 変数を「箱」に例えると、String型の箱に入れた文字列は、中身を書き換えるのではなく、新しい内容の紙が入った「別の箱」にすり替えるイメージです。

Javaでの文字列の作り方(基本サンプル)

まずは、最もシンプルな文字列の作成方法を見てみましょう。ダブルクォーテーションで囲むだけで、簡単に文字列を扱うことができます。


public class StringBasicExample {
    public static void main(String[] args) {
        // 文字列型の変数「message」を作成して挨拶を代入
        String message = "こんにちは、Javaの世界へ!";
        
        // 文字列の長さを表示するメソッド(length)を使ってみる
        int length = message.length();
        
        System.out.println("中身: " + message);
        System.out.println("文字数: " + length);
    }
}

このように、Stringクラスを使いこなせるようになると、プログラムで自由自在にテキストを操れるようになります。次は、特定の文字で終わっているかを判定する具体的な手法に進みましょう。

2. endsWithメソッドの使い方:文字列の末尾を判定する

2. endsWithメソッドの使い方:文字列の末尾を判定する
2. endsWithメソッドの使い方:文字列の末尾を判定する

Javaで「特定の文字で終わっているか」をチェックしたいときに便利なのが、endsWithメソッドです。例えば、ファイル名が「.jpg」で終わっているか、URLが「/」で終わっているかなど、実務でも非常によく使われる重要な機能です。

endsWithメソッドの基本構文

このメソッドは、調べたい文字列に対して以下のように記述します。結果は「はい(true)」か「いいえ(false)」の2択(boolean型)で返ってきます。

  • public boolean endsWith(String suffix)

引数のsuffix(サフィックス)には、確認したい末尾の文字列を指定します。

【初心者向け】具体的なサンプルプログラム

プログラミングが初めての方でも分かりやすいよう、身近な「ファイル形式のチェック」を例にコードを見てみましょう。大文字と小文字は区別されるという点に注目してください。


public class EndsWithExample {
    public static void main(String[] args) {
        // 1. チェック対象の文字列を準備
        String fileName = "my-photo.png";

        // 2. 末尾が ".png" かどうかを判定
        boolean isPng = fileName.endsWith(".png");
        
        // 3. 結果を表示
        System.out.println("このファイルはPNG画像ですか?: " + isPng);

        // 注意点:大文字と小文字は区別されます
        boolean isUpperPng = fileName.endsWith(".PNG");
        System.out.println("大文字の .PNG で判定した場合: " + isUpperPng);
    }
}

実行結果


このファイルはPNG画像ですか?: true
大文字の .PNG で判定した場合: false

プログラミング初心者への解説

このプログラムでは、まずfileNameという箱に「my-photo.png」という名前を入れました。次にendsWith(".png")を使うことで、コンピュータに「この名前の最後は .png で合ってる?」と聞きいています。

もしユーザーがアップロードしたファイルが画像かどうかを自動判別したい場合、この1行を書くだけで簡単にシステムを作ることができます。非常にシンプルですが、入力チェックやデータ整理には欠かせないメソッドです。

このように、endsWithメソッドを活用することで、複雑な条件分岐を書かなくてもスマートに文字列の末尾を確認できるようになります。

3. endsWithメソッドを使うときの注意点

3. endsWithメソッドを使うときの注意点
3. endsWithメソッドを使うときの注意点

endsWithメソッドを使用する際には、以下の点に注意してください。

  • 引数suffixにはnullを渡さないでください。NullPointerExceptionが発生します。
  • 大文字と小文字が区別されます。suffixが正確に一致している必要があります。

安全に使用するための例を示します。


public class SafeEndsWithExample {
    public static void main(String[] args) {
        String url = "https://example.com";
        String suffix = ".com";

        if (suffix != null && url.endsWith(suffix)) {
            System.out.println("URLは指定されたドメインで終わっています。");
        } else {
            System.out.println("URLは指定されたドメインで終わっていません。");
        }
    }
}

このプログラムでは、nullチェックを行うことで安全に動作します。


URLは指定されたドメインで終わっています。

4. endsWithメソッドの応用例

「4. endsWithメソッドの応用例」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

4. endsWithメソッドの応用例
4. endsWithメソッドの応用例

実際のプログラムでは、endsWithメソッドを使用してファイルの種類を判定したり、URLのドメインを確認したりすることがよくあります。以下は応用例です。


public class FileCheckExample {
    public static void main(String[] args) {
        String[] files = { "document.pdf", "image.jpg", "notes.txt" };

        for (String file : files) {
            if (file.endsWith(".txt")) {
                System.out.println(file + " はテキストファイルです。");
            }
        }
    }
}

このプログラムを実行すると、次のような結果が得られます。


notes.txt はテキストファイルです。

このように、endsWithメソッドを使用して複数の文字列を効率的に判定することができます。

5. よくある質問と回答

5. よくある質問と回答
5. よくある質問と回答

Q: endsWithメソッドは部分一致に対応していますか?

A: いいえ、endsWithメソッドは文字列の末尾が完全一致しているかどうかを判定するために使用されます。部分一致を判定する場合は、containsメソッドやsubstringメソッドを使用することを検討してください。

6. まとめ

6. まとめ
6. まとめ

本記事では、JavaのStringクラスに含まれるendsWithメソッドについて詳しく学びました。このメソッドは、文字列が特定の文字列で終わっているかを確認するための便利なツールです。主な用途として、ファイルの拡張子の確認やURLのドメインの判定などが挙げられます。

endsWithメソッドはtruefalseを返すシンプルなメソッドですが、プログラムの中で非常に重要な役割を果たします。また、nullチェックや大文字小文字の区別など、安全に使用するための注意点も押さえることができました。

以下に、実践的な使用例を示します。


public class PracticalEndsWithExample {
    public static void main(String[] args) {
        String[] emails = { "user@example.com", "admin@domain.org", "support@example.com" };

        for (String email : emails) {
            if (email.endsWith("@example.com")) {
                System.out.println(email + " はexample.comのメールアドレスです。");
            } else {
                System.out.println(email + " は異なるドメインのメールアドレスです。");
            }
        }
    }
}

このプログラムを実行すると、次のような結果が得られます。


user@example.com はexample.comのメールアドレスです。
admin@domain.org は異なるドメインのメールアドレスです。
support@example.com はexample.comのメールアドレスです。

このようにendsWithメソッドを活用することで、文字列の末尾チェックを簡単に行うことができます。この記事で学んだ知識を基に、自分のプログラムに応用してみてください。

先生と生徒の振り返り会話

生徒

endsWithメソッドでファイルやURLを簡単にチェックできるのが分かりました!すごく便利ですね。」

先生

「その通りです。特に、条件分岐を使うことで、多くの文字列操作を効率的に処理できますよ。」

生徒

「これから、ファイル管理やログのチェックに使ってみたいと思います!」

先生

「ぜひ試してみてください。他のメソッドと組み合わせるとさらに柔軟な処理が可能になりますよ。」

この記事を読んだ人からの質問

「この記事を読んだ人からの質問」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JavaのStringクラスにあるendsWithメソッドとはどのような機能を持つメソッドですか?初心者にも分かりやすく教えてください。

JavaのStringクラスに用意されているendsWithメソッドは、ある文字列が指定した特定の文字列(接尾辞)で終わっているかどうかを判定するための便利なメソッドです。プログラミング初心者の方でも理解しやすいように説明すると、例えばファイル名の末尾が「.jpg」や「.pdf」といった特定の拡張子で終わっているかをチェックしたい時に非常によく使われます。このメソッドはJava標準の文字列操作機能として非常に一般的で、条件分岐などと組み合わせて頻繁に利用されます。
カテゴリの一覧へ
新着記事
New1
Spring
Springの@Transactional徹底解説!トランザクションの伝播・分離レベル・タイムアウトの基本
更新記事
New2
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
更新記事
New3
Java
JavaのLocalDate.atTimeの使い方を完全解説!初心者でもわかる日付と時間の組み合わせ
新規投稿
New4
Spring
Springの @ResponseBodyアノテーション完全ガイド!初心者でもわかる使い方
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.3
Java&Spring記事人気No3
Java
Java開発環境「Eclipse(Pleiades)」のインストール方法とメリットを初心者向けに解説
No.4
Java&Spring記事人気No4
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.5
Java&Spring記事人気No5
Spring
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
No.6
Java&Spring記事人気No6
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
Java
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.8
Java&Spring記事人気No8
Spring
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説