-2

以下のような単純なコードがあり、「N/A」文字列の後にスペースがあると false を返します。

String a = "N/A ";
if((a.trim())=="N/A")
{
 System.out.println("true");
}
else{
 System.out.println("false");
}

スペースを「N/A」として削除すると、true が返されます。ここで何が欠けていますか。私はばかげた間違いを犯していることを知っています。

前もって感謝します。

4

4 に答える 4

5

まず、==演算子を使用して文字列を比較しないでください。を使用するif(a.trim().equals("N/A"))と、役立つはずです。たとえば、Java でのオブジェクトの比較については、こちらを参照してください。

于 2012-05-19T07:50:00.553 に答える
2

以下を試してください...

String a = "N/A ";
if(a.trim().equals("N/A"))
{
 System.out.println("true");
}
else{
 System.out.println("false");
}

==オブジェクトを.equals()比較し、値を比較します。

これを見る

于 2012-05-19T07:50:16.607 に答える
1

== の代わりに equals() を使用して、if 条件の括弧の問題も修正します。

于 2012-05-19T07:51:14.693 に答える
1

equalsオブジェクト ID の代わりに比較に使用してみましたか?

于 2012-05-19T07:48:18.377 に答える