1

文字列を文字列配列に分割した場合、それも文字列と一致させようとします。このような:

String[] thisString = "hello my name is".split(" ");
if (thisString[1] == "my"){
    System.out.print("My!");
}
4

6 に答える 6

3

Java でのオブジェクト比較では、 を使用する必要があります.equals()

.equals()の代わりに 使用==

例:

thisString[1].equals( "my") 

==比較は、参照が等しいかどうかをチェックします。equals()比較は内容が等しいかどうかをチェックします。

于 2012-09-26T18:33:22.827 に答える
2

equals ではなくご利用ください==

于 2012-09-26T18:33:40.690 に答える
2

この場合、String.equals文字列の内容を確認するために使用する必要があります。

if (thisString[1].equals("my")) {

String.splitString「my」の別のオブジェクト参照を作成するため、ステートメント式は演算子ìfを使用して false になります。==

于 2012-09-26T18:33:53.867 に答える
1

== は、両方が同じオブジェクトを参照している場合に比較します。一方 、as .equals(string) は、両方の文字列が同じ値を持っているかどうかを比較します。

だから、使うif (thisString[1].equals("my"))

于 2012-09-26T18:36:42.943 に答える
0

あなたはオブジェクトを比較しています、そしてjavaオブジェクト比較のために私たちは持っています.equals()

だからあなたの場合

if (thisString[1].equals("my"))
{
 System.out.print("My!");
}
于 2012-09-26T18:43:54.957 に答える
0

を使用して実際に文字列を比較することはできません==equals()次のようなメソッドを使用する必要があります。

string1.equals(string2)

于 2012-09-26T18:36:56.147 に答える