JSP 에서 compareTo 메소드 질문이요
냥냥
현재 상황은 로그인페이지 관련부분에서 비밀번호를 대조할때 디비정보를 담고 있는 자바파일중
로그인관련 메소드를 불러서 체크를 하는 상황입니다.
if(dbpass.compareTo(password) == 0) {
return 1; // 암호가 같으면 1리턴
} else{
returo 0; //틀리면 0을 리턴
}
else{
return -1;} //존재하지 않으면 -1 리턴 인데요.
if 문 라인을 해석해보면
디비비밀번호와 자바빈에서 불러들인 빈을 비밀번호를 비교해서 0과 같은면... 이거 맞자나요?
그러면 1을 리턴하는거고, 틀리면 0을 존재하지 않으면 -1을 리턴하는건데.
여기서 질문좀 드릴게요. 좀 알려주세요.
1. 왜 if문에서 compareTo(password) == 0 과 같이 비교대상을 0으로 한건가요?
비교대상에 0 말고 다른걸을 집어넣을 수는 없는건가요? 일종의 법칙인가요?2. 맞으면 1, 틀리면 0 이런식으로 숫자를 리턴하는의미가 몬가요?
compareTo 메소드 자체가 1을 true로 0을 false 로 인식을 하기 때문에 리턴방식에서 숫자를 쓴건가요?
-
나예
0으로 비교한것은 같냐라고 비교하기 위해서죠. compareTo 는 세가지를 반환합니다. 1, 0 그리고 -1을 반환하죠 API 에 보면 자세히 나와있고 sun 사의 홈페이지에도 compareTo 를 설명해 놓은게 어디 있을겁니다
가끔 오버라이딩 해서 사용되니 이 기회에 함 보시는게 좋겠네요 ㅎㅎ -
초록이
API읽기를 생활화합시다.
-
갅쥐누뉨
compareTo는 API를 찾아보시면 알겠지만
dbpass와 password를 오름차순으로 비교하여 값이 같으면 0을 반환하는 메쏘드입니다.