【发布时间】:2012-05-19 16:56:52
【问题描述】:
我有一个 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) 但没有任何结果。
有人知道问题出在哪里吗?
【问题讨论】:
-
使用
equals比较你的字符串(见How do I compare strings in Java?)。如果问题仍然存在,请查看两个变量的值。 -
尝试单步执行,例如在 Firebug 中。
-
如果 string.compareTo(other_string)==0 试试
-
我解决了。错误是我使用了“
标签: json string loops if-statement for-loop