ジャワ 文字列クラス 等しいIgnoreCase() このメソッドは、文字列の大文字と小文字 (小文字と大文字) に関係なく、文字列の内容に基づいて 2 つの指定された文字列を比較します。これは、equals() メソッドに似ていますが、大文字と小文字の区別はチェックしません。一致しない文字がある場合は false を返し、それ以外の場合は true を返します。
サイン
publicboolean equalsIgnoreCase(String str)
パラメータ
str : 別の文字列、つまりこの文字列と比較されます。
例外処理Java
戻り値
戻ります 真実 両方の文字列の文字が等しい場合、そうでない場合は大文字と小文字を区別しない 間違い 。
内部実装
public boolean equalsIgnoreCase(String anotherString) { return (this == anotherString) ? true : (anotherString != null) && (anotherString.value.length == value.length) && regionMatches(true, 0, anotherString, 0, value.length); }
実装を見ると、equalsIgnoreCase() メソッドがregionMatches() メソッドを呼び出していることは明らかです。これにより、equalsIgnoreCase() メソッドでは大文字と小文字が区別されなくなります。 regionMatches() メソッドのシグネチャについては以下で説明します。
public booleanregionMatches(booleanignoreCase, int toffset, String other, int ooffset, int len)
regionMatches() メソッドは 5 つのパラメータを解析します。最初のパラメータ 無視するケース 上記の実装では true に設定されています。したがって、メソッドが実行されると、 無視するケース フラグが true かどうか。 「はい」の場合、両方の文字列からそれぞれ 1 文字が取得され、比較されます。比較で false 値が得られた場合は、両方の文字が大文字に変換され、比較で依然として false 値が得られるかどうかがチェックされ、その後、両方の文字が小文字に変換されて比較されます。比較の結果真の値が得られた場合、両方の文字列の内容は等しいことになります。そうでなければ、そうではありません。説明した比較のコード スニペットを以下に示します。
宗教のリスト
while (toffset <last) { char ch1="getChar(value," toffset++); ch2="getChar(other," ooffset++); if (ch1="=" ch2) continue; } convert each character to uppercase and then make the comparison. comparison yeilds a true value, next pair of characters should be scanned uch1="Character.toUpperCase(ch1);" uch2="Character.toUpperCase(ch2);" (uch1="=" u2) lowercase otherwise, return false. (character.tolowercase(uch1)="=" character.tolowercase(uch2)) false; reaching here means content both strings are same after ignoring case sensitiveness true; < pre> <p>One may argue that if we made a comparison after converting to uppercase, then why do we need an extra comparison by converting characters to the lowercase. The reason behind this is to provide to the requirement of Georgian alphabets. Conversion in uppercase does not work properly for the Georgian alphabets, as they have some strange rules about the case conversion. Therefore, one extra comparison, by converting characters to the lowercase, is required.</p> <h2>Java String equalsIgnoreCase() Method Example</h2> <p> <strong>FileName:</strong> EqualsIgnoreCaseExample.java</p> <pre> public class EqualsIgnoreCaseExample{ public static void main(String args[]){ String s1='javatpoint'; String s2='javatpoint'; String s3='JAVATPOINT'; String s4='python'; System.out.println(s1.equalsIgnoreCase(s2));//true because content and case both are same System.out.println(s1.equalsIgnoreCase(s3));//true because case is ignored System.out.println(s1.equalsIgnoreCase(s4));//false because content is not same }} </pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> true true false </pre> <h2>Java String equalsIgnoreCase() Method Example 2</h2> <p>Let's see an example where we are testing string equality among the strings.</p> <p> <strong>FileName:</strong> EqualsIgnoreCaseExample2.java</p> <pre> import java.util.ArrayList; public class EqualsIgnoreCaseExample2 { public static void main(String[] args) { String str1 = 'Mukesh Kumar'; ArrayList list = new ArrayList(); list.add('Mohan'); list.add('Mukesh'); list.add('RAVI'); list.add('MuKesH kuMar'); list.add('Suresh'); for (String str : list) { if (str.equalsIgnoreCase(str1)) { System.out.println('Mukesh kumar is present'); } } } } </pre> <p> <strong>Output:</strong> </p> <pre> Mukesh kumar is present </pre> <hr></last)>今すぐテストしてください
出力:
true true false
Java StringqualsIgnoreCase() メソッドの例 2
文字列間の文字列の同等性をテストする例を見てみましょう。
ファイル名: EqualsIgnoreCaseExample2.java
import java.util.ArrayList; public class EqualsIgnoreCaseExample2 { public static void main(String[] args) { String str1 = 'Mukesh Kumar'; ArrayList list = new ArrayList(); list.add('Mohan'); list.add('Mukesh'); list.add('RAVI'); list.add('MuKesH kuMar'); list.add('Suresh'); for (String str : list) { if (str.equalsIgnoreCase(str1)) { System.out.println('Mukesh kumar is present'); } } } }
出力:
Mukesh kumar is present