2012-05-19 8 views
0

을 for 루프로 사용하고 있습니다. 전자 메일을 찾고 싶습니다. 동일한 문자열을 사용해야합니다. for 루프에서 나는 건배를하고 그 둘 모두 공백없이 똑같은 것을 보았다. if (String == String)에있는 것은 전혀 발생하지 않습니다. 다음은 코드입니다 :for 루프에서 문제가 발생하면

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(); 
    } 

나는 또한에는 getString ("사용자")에 시도한 경우 조건 외부 일했다. 쓰기 조건 : String.equals (String)을 시도했지만 결과가 없습니다.

누구에게 어떤 문제가 있는지 알 수 있습니까?

+0

'equals'을 사용하여 문자열 비교 (* [Java에서 문자열 비교 방법은 무엇입니까?] (http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) *). 문제가 계속 발생하면 두 변수의 값을 살펴보십시오. – Howard

+0

한번 밟아보십시오. 파이어 버그에. – Julian

+0

string.compareTo (other_string) == 0 시도해보십시오. – scrineym

답변

0

자바를 사용하는 경우 문자열 값을 비교하려면 equals() 함수를 사용해야합니다. 하워드 (Howard)가 말했듯이, 그것이 작동하지 않는다면 변수가 잘못되었을 수도 있습니다.

+0

나는 그것을 해결했다. 실수는 "<"대신 "<= Array.length()"를 사용한다는 것입니다. 어쨌든 고맙습니다. 추신 : 그것은 ==를 사용하여 두 문자열을 비교하는 java에서 작동합니다. –