0

Androidアプリケーションをリモートホスト上のデータベースに接続しようとしています。DBのレコードを使用したいのですが、これを実行しようとすると問題が発生します。

if(buffer.toString()=="OPEN")
                    {
                        button_signal.setText("OPEN");
                    }
                    else
                    {
                        button_signal.setText("CLOSE");
                    }

Logsを使用してbuffer.toString()をチェックしましたが、これは「OPEN」と同じですが、button_signalのテキストは「CLOSE」と出力されます。なんで?手伝って頂けますか?

4

2 に答える 2

2

表示されない文字が含まれている場合や、大文字と小文字が異なる場合があるため、次のことを試してください。

buffer.toString().trim().equalsIgnoreCase("OPEN");
于 2012-11-22T15:06:35.447 に答える
1

文字列をJavaの「==」演算子と比較することはできません。文字列はオブジェクトです。このbuffer.toString()。equals( "OPEN");を試してください。

編集:

次のように比較するとさらに良いでしょう: "OPEN" .equals(buffer.toString())

バッファがnullの場合、例外をスローしないためです。

于 2012-11-22T15:07:55.470 に答える