0

メールを検索する for ループがあります。確実に同一の文字列が必要です。for ループにトーストを入れたところ、どちらも空白なしで同じものを示していることがわかりました。if(String == String ) にあることはまったく起こりません。コードは次のとおりです。

try {
        jArray = new JSONArray(result);
        JSONObject json_email = null;

        for(int i=0;i<=jArray.length();i++){
            json_email = jArray.getJSONObject(i);

            addedby2 = json_email.getString("email");



        if(addedby2==email2){
            Toast.makeText(this, json_email.toString(), Toast.LENGTH_LONG).show();
            user = json_email.getString("user");
            rpoints = json_email.getString("respectpoints");
            //Toast.makeText(this, user+"    "+rpoints, Toast.LENGTH_LONG).show();
        }
        }
        tvAdded.setText(user + " (" + rpoints + ")");
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

if 条件の外で getString("user") も試みましたが、うまくいきました。if 条件を書き込もうとしました : String. equals(String) が、結果はありません。

問題が何であるかを知っている人はいますか?

4

1 に答える 1

0

Java を使用している場合、文字列値を比較するには equals() 関数を使用する必要があります。ハワードが言ったように、それがうまくいかない場合は、変数が間違っている可能性があります。

于 2012-05-19T17:14:32.977 に答える