다양한 방법으로 Java의 문자열을 비교할 수 있습니다. −
-
comapareTo() 메소드 사용 - compareTo() 메서드는 사전순으로 두 문자열을 비교합니다. 비교는 문자열에 있는 각 문자의 유니코드 값을 기반으로 합니다. 이 String 개체가 나타내는 문자 시퀀스는 사전순으로 인수 문자열이 나타내는 문자 시퀀스와 비교됩니다.
예시
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter string1: "); String str1 = sc.next(); System.out.println("Enter string2: "); String str2 = sc.next(); int result = str1.compareTo(str2); if (result < 0) { System.out.println("str1 is not equal to str2"); } else if (result == 0) { System.out.println("str1 is equal to str2"); } else { System.out.println("str1 is not equal to str2"); } } }
출력1
Enter string1: Hello Enter string2: Hello str1 is equal to str2
출력2
Enter string1: hello Enter string2: hi str1 is not equal to str2입력
-
==연산자 사용 − ==연산자를 사용하여 두 문자열을 비교할 수 있습니다. 그러나 값이 아닌 주어진 변수의 참조를 비교합니다.
예시
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str1 = "hello"; String str2 = "hello"; if (str1 == str2 ){ System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
출력
Both are equal
-
equals() 사용 String 클래스의 메소드 -는 String을 매개변수로 받아들이고 현재 문자열을 지정된 객체와 비교합니다. 인수가 null이 아니고 대소문자를 포함하여 이 객체와 동일한 문자 시퀀스를 나타내는 String 객체인 경우에만 결과가 true입니다.
예시
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter string1: "); String str1 = sc.next(); System.out.println("Enter string2: "); String str2 = sc.next(); boolean bool = str1.equals(str2); if (bool) { System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
출력1
Enter string1: Hello Enter string2: hello Both are not equal
출력2
Enter string1: Hello Enter string2: Hello Both are equal
대소문자를 구분하지 않는 문자열 비교
equalsIgnoreCase() String 클래스의 메서드는 equals() 메서드와 비슷하지만 이 메서드가 대소문자를 무시하고 주어진 문자열과 현재 문자열을 비교한다는 차이점이 있습니다.
예시
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter string1: "); String str1 = sc.next(); System.out.println("Enter string2: "); String str2 = sc.next(); boolean bool = str1.equalsIgnoreCase(str2); if (bool) { System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
출력1
Enter string1: Hello Enter string2: hello Both are equal