文字列を文字列配列に分割した場合、それも文字列と一致させようとします。このような:
String[] thisString = "hello my name is".split(" ");
if (thisString[1] == "my"){
System.out.print("My!");
}
Java でのオブジェクト比較では、 を使用する必要があります.equals()
。
.equals()
の代わりに 使用==
例:
thisString[1].equals( "my")
==
比較は、参照が等しいかどうかをチェックします。equals()
比較は内容が等しいかどうかをチェックします。
equals
ではなくご利用ください==
。
この場合、String.equals
文字列の内容を確認するために使用する必要があります。
if (thisString[1].equals("my")) {
String.split
String
「my」の別のオブジェクト参照を作成するため、ステートメント式は演算子ìf
を使用して false になります。==
== は、両方が同じオブジェクトを参照している場合に比較します。一方 、as .equals(string) は、両方の文字列が同じ値を持っているかどうかを比較します。
だから、使うif (thisString[1].equals("my"))
あなたはオブジェクトを比較しています、そしてjava
オブジェクト比較のために私たちは持っています.equals()
だからあなたの場合
if (thisString[1].equals("my"))
{
System.out.print("My!");
}
を使用して実際に文字列を比較することはできません==
。equals()
次のようなメソッドを使用する必要があります。
string1.equals(string2)