7

テキストをarrayListに配置するクラスがあります。次に、変数を == "test"; などの文字列と比較しようとすると、すべての変数が CharSequences になります。ここでは機能しません。変数を取得するために使用するコードです

class Item {
            String descs;

            public Item (String descs){

                 this.descs = descs;

                 }


            public CharSequence getDescs() {
                return descs;
            }
        }

これは、文字列と比較するコードです

 if(p.getDescs().toString() == "trash"){

          descsView.setVisibility(View.GONE);

                            }

          else{
              descsView.setText(p.getDescs());

                            }

p.getDescs() は、descsView のテキストを設定するとゴミ箱に設定されるため、ゴミ箱に等しいという事実を知っています。では、最初の if ステートメントが機能しないのはなぜですか?

4

6 に答える 6

18

.equalsorを使用.equalsIgnoreCaseして文字列を比較する

     if(p.getDescs().toString().equals("trash"))

こちらもチェック

Javaの==とequals()の違いは何ですか?

于 2013-09-09T02:48:53.913 に答える
3

equals()文字列比較にはメソッドを使用する必要があります...

if(p.getDescs().toString().equals("trash")){
    descsView.setVisibility(View.GONE);
    }
else{
    descsView.setText(p.getDescs());
    }

Java で文字列を比較するにはどうすればよいですか? を参照してください。詳細については。

于 2013-09-09T02:50:06.463 に答える
1

descs が CharSequence 変数の場合:

descs.toString().equals("SomeString");
于 2013-09-09T02:48:41.273 に答える