カテゴリ: Java 更新日: 2026/01/02

JavaのStringクラスとstartsWithメソッドを徹底解説!初心者でもわかる文字列の判定方法

StringのstartsWithメソッド
StringのstartsWithメソッド

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

生徒

「Javaで、文字列が特定の文字列で始まるかどうかを確認する方法はありますか?」

先生

「良い質問ですね!Javaでは、StringクラスのstartsWithメソッドを使って、文字列が指定した文字列で始まるかどうかを簡単に確認することができます。」

生徒

「どのように使うのか、具体的に教えてください!」

先生

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

1. startsWithメソッドとは?

1. startsWithメソッドとは?
1. startsWithメソッドとは?

JavaのstartsWithメソッドは、文字列が指定された文字列で始まるかどうかを確認するためのメソッドです。特に、文字列の先頭に特定のパターンが含まれているかどうかをチェックする場合に便利です。

例えば、URLが「https」で始まっているか、ファイル名が特定のプレフィックスで始まっているかなどの確認に使えます。使い方もシンプルで、初心者でもすぐに理解できるでしょう。

2. startsWithメソッドの使い方

2. startsWithメソッドの使い方
2. startsWithメソッドの使い方

基本的な使用方法は次の通りです:


public class StringStartsWithExample {
    public static void main(String[] args) {
        String text = "Hello, Java World!";
        
        // "Hello"で始まるかを確認
        boolean startsWithHello = text.startsWith("Hello");
        System.out.println("テキストが'Hello'で始まる: " + startsWithHello);
        
        // "Java"で始まるかを確認
        boolean startsWithJava = text.startsWith("Java");
        System.out.println("テキストが'Java'で始まる: " + startsWithJava);
    }
}

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


テキストが'Hello'で始まる: true
テキストが'Java'で始まる: false

上の例では、text.startsWith("Hello")trueを返し、text.startsWith("Java")falseを返しています。これは、文字列「Hello, Java World!」が「Hello」で始まっているためです。

3. startsWithメソッドのオプション:offsetを使用する

3. startsWithメソッドのオプション:offsetを使用する
3. startsWithメソッドのオプション:offsetを使用する

JavaのstartsWithメソッドには、もう一つの使い方があります。それは、文字列の先頭ではなく、指定した位置から始まるかどうかを確認する方法です。

例として、次のコードを見てみましょう。


public class StringStartsWithOffsetExample {
    public static void main(String[] args) {
        String text = "Hello, Java World!";
        
        // 7文字目から "Java" が始まるかを確認
        boolean startsWithJavaFrom7 = text.startsWith("Java", 7);
        System.out.println("7文字目から'Java'で始まる: " + startsWithJavaFrom7);
    }
}

出力結果は次の通りです。


7文字目から'Java'で始まる: true

このように、startsWithメソッドにオフセット値を指定することで、文字列の中間からのパターンチェックも可能です。

4. startsWith使用時の大文字・小文字に注意しよう

4. startsWith使用時の大文字・小文字に注意しよう
4. startsWith使用時の大文字・小文字に注意しよう

startsWithメソッドは、基本的には大文字・小文字を区別して判定を行います。そのため、期待した結果が得られない場合は、大文字・小文字の違いが原因になっていることがあります。

例えば、次のコードを見てみましょう。


public class StringStartsWithCaseExample {
    public static void main(String[] args) {
        String text = "hello, java world!";
        
        // "Hello"で始まるかを確認(先頭は小文字)
        boolean startsWithHello = text.startsWith("Hello");
        System.out.println("テキストが'Hello'で始まる: " + startsWithHello);
        
        // 大文字・小文字を無視して判定したい場合
        String lowerText = text.toLowerCase();
        boolean startsWithHelloIgnoreCase = lowerText.startsWith("hello");
        System.out.println("大文字小文字無視で'hello'で始まる: " + startsWithHelloIgnoreCase);
    }
}

この例では、元の文字列は"hello, java world!"と小文字で始まっているため、text.startsWith("Hello")falseになります。一方、toLowerCase()で文字列を小文字に変換してから判定することで、大文字・小文字を意識せずに判定できます。

大文字・小文字を無視してstartsWithを使いたい場合は、toLowerCase()toUpperCase()であらかじめ文字列を揃えてから判定するのが一般的な方法です。

5. startsWithメソッドの実用例:現場での活用シーン

5. startsWithメソッドの実用例:現場での活用シーン
5. startsWithメソッドの実用例:現場での活用シーン

startsWithメソッドは、実際の開発現場でもさまざまな場面で利用されます。ここでは、よくある活用シーンをいくつか紹介します。

  • URLが特定のプロトコル(例:https)で始まっているか判定する
  • APIのパスが特定のプレフィックス(例:/api/)で始まるかチェックする
  • ファイル名が特定の文字列(例:log_)で始まるものだけ処理する
  • ユーザー入力が特定のキーワードから始まる場合にのみ、特別な処理を行う

例えば、URLのプロトコルをチェックするコードは次のようになります。


public class UrlStartsWithExample {
    public static void main(String[] args) {
        String url = "https://example.com";
        
        if (url.startsWith("https://")) {
            System.out.println("安全なHTTPS通信のURLです。");
        } else if (url.startsWith("http://")) {
            System.out.println("HTTP通信のURLです。HTTPSを検討しましょう。");
        } else {
            System.out.println("不明な形式のURLです。");
        }
    }
}

このように、startsWithを使うことで、文字列の先頭部分に応じて処理を分岐させることができます。条件分岐と組み合わせることで、読みやすくシンプルなコードを書くことができるのもポイントです。

6. startsWithと他の文字列判定メソッドの使い分け

6. startsWithと他の文字列判定メソッドの使い分け
6. startsWithと他の文字列判定メソッドの使い分け

Javaには、startsWith以外にも文字列を判定するためのメソッドがいくつか用意されています。それぞれの違いを理解して使い分けることで、より意図に合ったコードを書くことができます。

代表的なメソッドは次の通りです。

  • startsWith(String prefix):指定した文字列で「始まるか」を判定
  • endsWith(String suffix):指定した文字列で「終わるか」を判定
  • contains(CharSequence s):文字列の中に指定した文字列が「含まれるか」を判定
  • equals(Object anObject):文字列全体が完全に一致するかを判定

それぞれの違いを簡単な例で確認してみましょう。


public class StringCompareExample {
    public static void main(String[] args) {
        String text = "Hello, Java World!";
        
        System.out.println("startsWith(\"Hello\"): " + text.startsWith("Hello"));
        System.out.println("endsWith(\"World!\"): " + text.endsWith("World!"));
        System.out.println("contains(\"Java\"): " + text.contains("Java"));
        System.out.println("equals(\"Hello, Java World!\"): " + text.equals("Hello, Java World!"));
    }
}

startsWithは先頭だけを見たいとき、containsは位置に関係なく含まれているかを知りたいとき、equalsは完全一致をチェックしたいときに使います。目的に応じてこれらのメソッドを使い分けることで、無駄のないわかりやすい文字列判定が行えます。

特に、パターンマッチや形式チェックを行う処理では、まずstartsWithでざっくりと先頭の形式をチェックし、その後必要に応じて詳細な判定(文字数チェックや数値変換など)を行う、という書き方がよく使われます。

まとめ

まとめ
まとめ

本記事では、JavaのStringクラスのstartsWithメソッドについて、基礎から応用まで詳しく解説しました。このメソッドを使用することで、文字列が特定の文字列で始まるかを簡単に確認でき、特にURLの判定やファイル名のフィルタリング、条件付き処理などで非常に便利です。

また、startsWithメソッドにはオフセット値を指定するオプションがあり、文字列の途中から特定のパターンが始まるかをチェックすることもできます。これにより、文字列の柔軟な判定が可能になり、初心者から上級者まで幅広い用途で活用できます。

実際に手を動かして、サンプルコードを試してみることで、startsWithメソッドの動作やエラーの回避方法を学ぶことができます。さらに、このメソッドを他の文字列操作メソッド(substringendsWithなど)と組み合わせることで、複雑な文字列操作も簡単に行えるようになります。

プログラムの中で文字列処理を行う際には、特定の条件を確認する必要がよく発生します。今回学んだstartsWithメソッドは、その基本的な方法を学ぶための第一歩として最適です。


public class StartsWithSummaryExample {
    public static void main(String[] args) {
        String[] urls = { "https://example.com", "http://test.com", "ftp://file.com" };
        
        // 各URLが"https"で始まるか確認
        for (String url : urls) {
            if (url.startsWith("https")) {
                System.out.println(url + " は安全な接続です。");
            } else {
                System.out.println(url + " は安全な接続ではありません。");
            }
        }
    }
}

上記のサンプルコードでは、複数のURLを対象にstartsWithメソッドを使って「https」で始まるかどうかをチェックしています。このような方法で、安全なURLの判定やフィルタリングを簡単に行うことができます。

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

生徒

startsWithメソッドを使えば、文字列の先頭を簡単にチェックできるんですね!URLの判定にすごく役立ちそうです。」

先生

「その通りです。例えば、Webアプリケーションで入力されたURLが正しい形式かどうか確認する際にも役立ちますね。」

生徒

「オフセット値を指定する使い方も便利ですね。これを使えば、文字列の途中をチェックするのも簡単そうです。」

先生

「まさにその通りです。オフセットを使うことで、柔軟な文字列操作が可能になります。他のメソッドとも組み合わせて、実践的なシナリオで試してみてください。」

生徒

「はい!今日学んだことを活かして、実際のプロジェクトで試してみます。」

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

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

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

Javaで文字列が「http」で始まるかどうか判定するにはどうすればいいですか?

JavaのStringクラスのstartsWithメソッドを使えば、URLが「http」で始まるか簡単に判定できます。セキュリティや通信方式のチェックにも使える便利な方法です。
カテゴリの一覧へ
新着記事
Springの@Transactional徹底解説!トランザクションの伝播・分離レベル・タイムアウトの基本
JavaのHashMapクラスgetメソッドの使い方を完全ガイド!初心者でもわかるjava.util入門
Thymeleafのth:fragmentを使ったテンプレートの再利用方法を完全ガイド!初心者でもわかる使い方
Javaの@PathVariableアノテーションの使い方を徹底解説!初心者でもわかるパスパラメータの基本と応用
人気記事
No.1
Java&Spring記事人気No1
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.2
Java&Spring記事人気No2
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.3
Java&Spring記事人気No3
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.4
Java&Spring記事人気No4
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.5
Java&Spring記事人気No5
JavaのBigDecimalクラスcompareToメソッド完全ガイド!初心者でもわかる大小比較の基本
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.8
Java&Spring記事人気No8
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法