logo

Java 文字列 contains()

Java String クラス contains() メソッドは、この文字列内の一連の文字を検索します。戻ります 真実 この文字列内に char 値のシーケンスが見つかった場合、それ以外の場合は戻り値を返します。 間違い

サイン

string contains() メソッドのシグネチャを以下に示します。

 public boolean contains(CharSequence sequence) 

パラメータ

順序 : 検索する文字のシーケンスを指定します。

戻り値

真実 char 値のシーケンスが存在する場合、それ以外の場合 間違い

例外

NullPointerException : シーケンスが null の場合。

内部実装

 public boolean contains(CharSequence s) { return indexOf(s.toString()) > -1; } 

ここでは、CharSequence から String への変換が行われます。その後、indexOf() メソッドが呼び出されます。メソッド IndexOf() は、検索された文字列が見つかった場合に 0 または 0 より大きい数値を返します。

ただし、検索された文字列が見つからない場合、indexOf() メソッドは -1 を返します。したがって、実行後、indexOf() メソッドが負でない値を返した場合 (検索された文字列が見つかった場合)、contains() メソッドは true を返します。それ以外の場合、メソッドは false を返します。

Java String contains() メソッドの例

ファイル名: Example.java を含む

 class ContainsExample{ public static void main(String args[]){ String name='what do you know about me'; System.out.println(name.contains('do you know')); System.out.println(name.contains('about')); System.out.println(name.contains('hello')); }} 
今すぐテストしてください

出力:

 true true false 

Java String contains() メソッドの例 2

contains() メソッドは、大文字と小文字を区別して文字シーケンスを検索します。引数で大文字と小文字が区別されない場合は、false を返します。例を見てみましょう。

ファイル名: Example2.java を含む

 public class ContainsExample2 { public static void main(String[] args) { String str = 'Hello Javatpoint readers'; boolean isContains = str.contains('Javatpoint'); System.out.println(isContains); // Case Sensitive System.out.println(str.contains('javatpoint')); // false } } 

出力:

 true false 

Java String contains() メソッドの例 3

contains() メソッドは、文字列内の文字シーケンスを見つけるのに役立ちます。これを制御構造で使用して、検索ベースの結果を生成できます。例を見てみましょう。

ファイル名: Example3.java を含む

 public class ContainsExample3 { public static void main(String[] args) { String str = 'To learn Java visit Javatpoint.com'; if(str.contains('Javatpoint.com')) { System.out.println('This string contains javatpoint.com'); }else System.out.println('Result not found'); } } 

出力:

 This string contains javatpoint.com 

Java String contains() メソッドの例 4

contains() メソッドは、メソッドのパラメータに null を渡すと NullPointerException を発生させます。次の例も同じことを示しています。

ファイル名: Example4.java を含む

 public class ContainsExample4 { // main method public static void main(String argvs[]) { String str = 'Welcome to JavaTpoint!'; // comparing a string to null if(str.contains(null)) { System.out.println('Inside the if block'); } else { System.out.println('Inside the else block'); } } } 

出力:

 Exception in thread 'main' java.lang.NullPointerException at java.base/java.lang.String.contains(String.java:2036) at ContainsExample4.main(ContainsExample4.java:9) 

Contains() メソッドの制限事項

contains() メソッドのいくつかの制限を次に示します。

  • contains() メソッドを文字列内の文字の検索に使用しないでください。実行するとエラーが発生します。
  • contains() メソッドは、別の文字列内に文字列が存在するかどうかのみをチェックします。検索されたインデックスがどのインデックスで見つかったのかは決して明らかにされません。これらの制限があるため、contains() メソッドではなく、indexOf() メソッドを使用することをお勧めします。