2011-02-04 10 views
0

Android 용 앱을 가지고 있습니다. 점에서if 문에 오류가 발생했습니다.

if(v==findViewById(R.id.submit)){ 
      // 

      if(email==crfm_email) 
      { 

       String warn="Done!"; 
       Toast toast = Toast.makeText(getBaseContext(), warn, Toast.LENGTH_LONG); 
       toast.show(); 
      } 
      else 
      { 
       oFN=(EditText)findViewById(R.id.owners_first_name); 
       String warn="email addresses do not match "+eMail+" "+crfEmail; 
       Toast toast = Toast.makeText(getBaseContext(), warn, Toast.LENGTH_LONG); 
       toast.show(); 

      } 

     } 

문제가 컨트롤이 항상 두 변수에 대한 입력이 동일하더라도 다른 부분에가는 것입니다 ... 나는 EditTest에서 두 문자열을 비교하고,하지만 난 이상한 결과를 얻을 수 있습니다. 나는 그 단순한 실수는 알고 있지만 그것을 깰 수는 없다는 것을 알고있다 ...!

+1

대신에 ==을 사용하고 있습니다. !! –

+0

"루프가 아닐 때" "이 코멘트가" "왜?"- radkrish "입니다. – rahul

+0

Iam은 혼란 스럽습니다. 나는이 질문에 대해 하나 이상의 답변을 갖고 있기 때문에 모두 비슷합니다. 어느 것이 받아 들여지려고합니까? 첫 번째 응답은 ..입니까? – rahul

답변

2

오브젝트 비교 대신 오브젝트 참조 비교를 수행하는 것처럼 보입니다.

if (email.equals(crfm_email)) 
{ 
    .... 

는 문자열을 비교 :

if(email==crfm_email) 

아마

if(email.equals(crfm_email)) 
+0

덕분에 ... – rahul

3

사용 ...이어야한다. 요점은 String 개체에 대한 참조가 아닌 String의 내용을 비교하려는 것입니다.

+0

고마워요 ... – rahul

2

보십시오 : 그것은 문자열의 내용이 동일

+0

고마워요 ... – rahul

0

난 당신이 다음에 관심을 가질만한 생각이다하지 않을 경우 문자열의 동일한 인스턴스 인 경우 자바

email.equals(crfm_email) 

==는 비교 그래서 질문 : Java common Gotcha's. 루프없는 "경우"

최고 경쟁자는 equals :