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 코드 ab 의 차이를 나타냅니다 .

반환된 값은 두 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 에서 찾을 수 있습니다 .

Generic footer banner