-4

重複の可能性:
Java で文字列を比較するにはどうすればよいですか?

私はAndroidが初めてで、これはStackOverflowでの最初の投稿です.要するに、私は非常に奇妙な問題に直面しています.if(...)を使用したいくつかのメソッドでは、両方の値が同じでしたが、通過しません.もしも 。例を次に示します。

String []s=db.getStudentsNames();
        String []t=CopyNames(s);
        String t1,t2;

        t2=Id.getText().toString();
        for(int i=0;i<s.length;i++)
        {
            t1=t[i].substring(t[i].indexOf("-")+1).toString();
            Notifications(t[i].substring(t[i].indexOf("-")+1).toString());
            if(t1.toString()==t2.toString())//Problem!
            {
                Notifications("Id already exists for "+t[i].substring(0,t[i].indexOf("-")).toString());
                return false;
            }
        } 

変数 t1 と t2 は : t1="123456789"&t2="123456789"ですが、等しくないのと同じように if に入りません。そして、2 つの等しい辺が等しくないと見なされる他の場所があります - 同じ Java ページ (アクティビティ) のように if(add.getText().toString()=="Add Student"):問題 ?

**この問題が始まったとき、LogCat に次のように表示されるようになりました。

 W/KeyCharacterMap(282): No keyboard for id 0

 W/KeyCharacterMap(282): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

 D/dalvikvm(282): GC_FOR_MALLOC freed 5438 objects / 256800 bytes in 73ms
4

2 に答える 2

4

==Java で文字列を比較するために使用しないでください。t1.toString().equals(t2.toString())代わりに使用してください。

于 2013-01-10T15:39:04.863 に答える
1

==String オブジェクトでは決して使用しないでください。t1.equals(t2)代わりに使用してください。

于 2013-01-10T15:39:05.240 に答える