0

スクリーンショット

私は2つの文字列を比較していますが、明らかに同じではありませんが、同じです。これを引き起こす可能性のあるいくつかの問題、おそらくデータ型、私が見ることができない隠されたもの、または何が原因であるのか疑問に思いました。任意の入力が役立つ可能性があります。ありがとう。

4

4 に答える 4

2

文字列/オブジェクトの比較ではequals()、ではなくを使用する必要があります==(文字列リテラルの比較の場合を除く)

例:

if(string.equals(string2)){
}

==参照の同等性をequals()チェックし、コンテンツの同等性をチェックします。このディスカッションを読んでください。

于 2013-01-17T16:09:01.653 に答える
2
field.trim().equalsIgnoreCase("formDateCreated")

これを試して。文字列trim()メソッドは、先頭と末尾の空白を省略して、文字列のコピーを返します。

于 2013-01-17T16:19:38.010 に答える
1

メソッドを使用して、のような文字列の同等性.equals()をチェックします。 演算子は、2つの参照変数が同じ文字列インスタンスを参照しているかどうかを確認するだけです。メソッドは、2つの文字列が有意義に等しいかどうかをチェックします。field1.equals("formDateCreated")==equals()

于 2013-01-17T16:09:24.113 に答える
1
equalsIgnoreCase(String anotherString)

あなたが事件について考えていないときのために。このチェックウェザーあなたの文字列の内容は==である参照ではなく等しい

以下のように確認することをお勧めします

"formDateCreated".equalsIgnoreCase(field)

考えられるNullPointerExceptionを克服するのに役立ちます

于 2013-01-17T16:10:42.913 に答える