Javaで2つの文字列を比較します - equals()とequalsIgnoreCase()

最初に頭に浮かぶのは、「しかし、それは完全に間違っています。私がJavaでプログラミングを始めた時、私は2つの文字列を "=="で比較し、オブジェクトの等価性をテストしましたが、2つの文字列、2つの文字の間はテストしませんでした。C++ とは異なり、 Java デザイナーは、オブジェクト指向であるため、言語を単純化するために String クラスにメソッドを作成しました。

String と equals

class String の equals() メソッドは、java の値の 等価性をテストし、true 両方の文字列に同じ文字が含まれている場合。次に例を示します:

String s1="str";
文字列 s2="str";
if(s1.equals(s2))
System.out.println("両方の文字列が等しい");
equals() は大文字と小文字が区別されます (小文字または大文字):

String s1="str";
文字列 s2="STR";
if(s1.equals(s2))
System.out.println("両方の文字列が等しい");
この場合、false.

equalsIgnoreCase()で大文字を無視します

equalsIgnoreCase()メソッドは、Stringを小文字から大文字に渡すことを回避し、vis-vers-thatとequals()を比較し、Javaは、文字を小文字に変換し、2つの文字列を比較するequalsIgnoreCase()メソッドを提供します

String s1="str";
文字列 s2="STR";
if(s1.equalsIgnoreCase(s2))
System.out.println("大文字と小文字の区別。2 つの文字列は等しい");

サイズの比較

String クラスには、文字列の長さを返す length() メソッドがあります:

if("string1".length()=="string2".length()))
System.out.println("string1 と string2 のサイズが等しい");
else if("string1".length()>"string2".length())
System.out.println("string1の方が長い");
else
System.out.println("string2 が長い");

equalsと "=="の違いは何ですか

equals()メソッドは値の等価性をテストします.

new String("test").equals(new String("test"));//->true
"=="演算子はオブジェクトの等価性をテストします:

String s1="trial";
文字列 s2="トライアル";

//それらは同じオブジェクトです
s1==s2;-->false

//同じオブジェクトではありません
s1 == "test";-->false

//同じオブジェクトを参照します
"test" == "test";-->true

//連結は単一のオブジェクトと見なされます
"test" == "your"+"t";-->true

//substring() メソッドは新しいオブジェクトを生成します
"test" == "1test".substring(1);-->false

//replace() メソッドは新しいオブジェクトを生成します
"test" == "Test".replace("T", "t");-->false
実行時に呼び出される substring() や replace() とは異なり、コンパイル中に呼び出されるため、連結は true を返します<>。