마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

결과값과 비교했을 때 다르다고 나오는 이유를 모르겠어요.

0 추천
안녕하세요! 초보개발자입니다.

EditText 내용를 getText().toString() 으로 가져온 값과 비교하고자 하는 값이 눈으로 확인했을 때는 일치하는데 == 연산을 해보면 일치하지 않는다고 나옵니다ㅜㅜ

( idEditText.getText().toString() == "aaaa")

  * idEditText.getText().toString() 결과값 : aaaa

같은 값인데 다르다고 표현하는 이유를 모르겠어요ㅠㅠ
알려주시면 배워가겠습니다!!

감사합니다.
 

public void checkID() {

    idEditText           = (EditText)findViewById(R.id.idEditText);
    passwordEditText = (EditText)findViewById(R.id.passwordEditText);

    String id = idEditText.getText().toString();
    String pw = passwordEditText.getText().toString();

    if(id == "aaaa" && pw == "1111") {
        Intent intent = new Intent(getApplicationContext(), MenuActivity.class);
        Toast.makeText(getApplicationContext(), "메뉴화면으로 이동"), Toast.LENGTH_LONG).show();
        startActivityForResult(intent, REQUEST_CODE_MENU);
    }
    else {
        Toast.makeText(getApplicationContext(), "ID/PW가 유효하지 않습니다.", Toast.LENGTH_LONG).show();
    }
}
각막피어싱 (180 포인트) 님이 2019년 1월 11일 질문

1개의 답변

+1 추천
 
채택된 답변

== 은 주소값을 비교하기 위한 비교연산자 이기 때문에 그렇습니다.  문자열은 equals()메소드를 이용하여 비교해야 합니다.

String text = idEditText.getText().toString() 

if(text.equals("aaa"){

    필요한 로직

}

익명사용자 님이 2019년 1월 11일 답변
각막피어싱님이 2019년 1월 11일 채택됨
...