본문 바로가기

개발일지/Java + Spring

[java] 문자열 비교 메소드 3가지(대소문자 구별?)

 

 

[java] if-else문(로그인처리)

public class LoginTest { public static void main(String[] args) { String id = args[0]; String passwd = args[1]; if(!id.equals("java")) { //id.equals("java")는 id가 "java"가 같은가? //id 안에 들어있..

practice365.xyz

 

문자열을 비교하는 메소드야 많겠지만 오늘은 contains, equals, equalsIgnoreCase을 비교해 보려고 한다. 참고로 전에 올렸던 로그인 처리 예제에서도 equals 메소드가 나왔다.

 

 

<equals>

public class LoginTest {

	public static void main(String[] args) {
		
		String id = args[0];
		String passwd = args[1];
		
		if(!id.equals("java")) { //id.equals("java")는 id가 "java"가 같은가?
			//id 안에 들어있는 것과 같은가? 즉 java는 string이다. 
			System.out.println("우리 회원이 아닙니다.");
		}else if(!passwd.equals("java")) {
			System.out.println("비밀번호가 일치하지 않습니다.");
		}else {
			System.out.println("환영합니다.");
		}

	}

}

str1.equals(str2)

boolean equals(Object obj) 메소드로 문자열을 비교해서 true와 false 두 가지 값 중 하나로 반환한다. 


!id.equals("java")
id안에 들어있는 문자열이 "java"가 아니라면.. 이라는 뜻 

 

 

<contains>

import java.util.Scanner;
public class Program_8 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("Women을 입력하세요!! : ");
		String a = sc.next();
		
		if(a.contains("WOMEN")) {
			System.out.println("여자입니다");
		}else {
			System.out.println("여자가 아닙니다.");
		}
	}
}

문자열을 포함하고 있는지 비교를 하는데 '대소문자' 구별을 하고 있다. 

 

<equalsIgnoreCase>

if(w.equalsIgnoreCase("women")) 
	System.out.println("여자입니다");

대소문자 구분 없이 문자열이 같은지 비교를 한다.