본문 바로가기
(JAVA)자바/(JAVA)자바 문법

(JAVA)자바 문자열 비교, equals(), equalsIgnoreCase(),compareTo(), contains()

by 공부가싫다가도좋아 2021. 1. 22.
반응형

(JAVA) 자바 문자열 비교


 

1. equals()


두 문자열을 비교할 때는  equals() 메서드를 사용합니다.

String str1="안녕하세요.";
		String str2="안녕하세요.";
		
		if(str1.equals(str2)) {
			System.out.println(str1);
		}
		else {
			System.out.println("두 문자열이 다릅니다");
		}

//결과

안녕하세요.

 

공백이 포함된 문자열도 equals로 비교할 수 있습니다.

import java.util.Scanner;

public class Print00 {

	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		
		String str1="안녕 하세요.";
		System.out.println("문자열 str2를 입력해 주세요.");
		String str2=scan.nextLine();
		
		if(str1.equals(str2)) {
			System.out.println(str1);
		}
		else {
			System.out.println("두 문자열이 다릅니다");
		}
	}
}

//결과
문자열 str2를 입력해 주세요.
안녕 하세요.
두 문자열이 같습니다.

 

 

2. equalsIgnoreCase()


 대소문자를 구별하지 않고 비교하고 싶으면  equals() 대신 equalsIgnoreCase()를 사용 하면 됩니다.

 

import java.util.Scanner;

public class Print00 {

	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		
		String str1="APPLE";
		System.out.println("문자열 str2를 입력해 주세요.");
		String str2=scan.nextLine();
		
		if(str1.equalsIgnoreCase(str2)) {
			System.out.println("두 문자열이 같습니다.");
		}
		else {
			System.out.println("두 문자열이 다릅니다");
		}
	}
}

//결과
문자열 str2를 입력해 주세요.
apple
두 문자열이 같습니다.

 

3. compareTo()


문자열 비교후 Int형으로 값을 돌려줌.

 

현재 객체가 더 작으면 음수로,

같으면 0,

현재 객체가 더 크면 양수.

 

import java.util.Scanner;

public class Print00 {

	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		
		String str1="APPLE";
		System.out.println("문자열 str2를 입력해 주세요.");
		String str2="APPle";
		
		if(str1.compareTo(str2)==0) {
			System.out.println("두 문자열이 같습니다.");
			
		}
		else {
			System.out.println("두 문자열이 다릅니다");
			System.out.println("str1.compareTo(str2) ="+str1.compareTo(str2));
		
			
			
			
		}
		
	}
}
//결과
문자열 str2를 입력해 주세요.
두 문자열이 다릅니다
str1.compareTo(str2) =-32

아스키코드값이  APPLE이 더 작으므로 음수를 돌려줍니다.

 

 

4.contains()


문자열중 같은 단어가 있으면 true를 반환합니다.

import java.util.Scanner;

public class Print00 {

	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		
		String str1="key,book,person";
		String str2="book";
		
		System.out.println(str1.contains(str2));
	}
}

//결과

true

str1에 str2의 단어가 있었으므로 true 반환

 

반응형

댓글