1. 개요
이 짧은 사용방법(예제)에서는 Java에서 문자를 비교하는 다양한 방법을 살펴봅니다.
기본 문자를 비교하는 방법을 논의하는 것으로 시작하겠습니다. 그런 다음 Character 객체 를 비교하는 다양한 방법을 살펴보겠습니다 .
2. 기본 문자 비교
먼저 기본 문자를 비교하는 방법을 강조하는 것으로 시작하겠습니다.
2.1. 관계 연산자 사용
일반적으로 문자를 비교하는 가장 간단한 방법은 관계 연산자 를 사용하는 것 입니다.
즉, 문자는 ASCII 코드 의 순서에 따라 Java에서 비교됩니다 .
assertFalse('a' == 'A');
assertTrue('a' < 'v');
assertTrue('F' > 'D');
2.2. Character.compare() 메서드 사용
마찬가지로 또 다른 솔루션은 Character 클래스 의 compare() 메서드를 사용하는 것입니다.
간단히 말해 Character 클래스는 기본 유형 char 의 값을 개체에 래핑 합니다. compare() 메서드는 두 개의 char 매개 변수를 허용 하고 수치적으로 비교합니다 .
assertTrue(Character.compare('C', 'C') == 0);
assertTrue(Character.compare('f', 'A') > 0);
assertTrue(Character.compare('Y', 'z') < 0);
위와 같이 compare(char a, char b) 메서드는 int 값을 반환합니다. ASCII 코드 a 와 b 의 차이를 나타냅니다 .
반환된 값은 두 char 값이 동일하면 0이고 a < b 이면 0 보다 작고 그렇지 않으면 0보다 큽니다.
3. 캐릭터 개체 비교
기본 문자를 비교하는 방법을 알았으니 이제 Character 개체를 비교하는 방법을 살펴보겠습니다.
3.1. Character.compareTo() 메서드 사용
Character 클래스는 두 문자 개체를 수치적으로 비교하는 compareTo ( ) 메서드를 제공합니다.
Character chK = Character.valueOf('K');
assertTrue(chK.compareTo(chK) == 0);
Character chG = Character.valueOf('G');
assertTrue(chK.compareTo(chG) > 0);
Character chH = Character.valueOf('H');
assertTrue(chG.compareTo(chH) < 0);
여기에서는 생성자가 Java 9부터 사용되지 않으므로 valueOf() 메서드를 사용하여 Character 개체 를 만들었 습니다.
3.2. Object.equals() 메서드 사용
또한 객체를 비교하는 일반적인 솔루션 중 하나는 equals() 메서드를 사용하는 것입니다. 두 개체가 같으면 true 를 반환 하고 그렇지 않으면 false 를 반환합니다.
자, 문자를 비교하는 데 어떻게 사용할 수 있는지 봅시다:
Character chL = 'L';
assertTrue(chL.equals(chL));
Character chV = 'V';
assertFalse(chL.equals(chV));
3.3. Objects.equals() 메서드 사용
Objects 클래스는 객체에 대한 작업을 위한 유틸리티 메서드로 구성됩니다 . equals() 메서드 를 통해 문자 개체를 비교하는 또 다른 방법을 제공합니다 .
Character chA = 'A';
Character chB = 'B';
assertTrue(Objects.equals(chA, chA));
assertFalse(Objects.equals(chA, chB));
equals() 메서드는 문자 객체가 서로 같으면 true를 반환 하고 그렇지 않으면 false 를 반환합니다.
4. 결론
이번 글에서는 자바에서 원시문자와 객체문자를 비교하는 다양한 방법을 알아보았습니다.
항상 그렇듯이 이 기사에서 사용된 코드는 GitHub 에서 찾을 수 있습니다 .