文字列を文字列配列に分割した場合、それも文字列と一致させようとします。このような:
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.splitString「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)