두개의 문자열이 같은지, 다른지 비교하는 방법들을 소개합니다.
1. "==" 연산자로 문자열 비교
==
연산자는 두 문자열이 같을 때 true
를 리턴, 다르면 false
를 리턴합니다. 기본적으로 대소문자를 다른 문자로 인식하고 비교합니다.
fun main(args: Array<String>) {
val a = "kotlin"
val b = "kotlin"
val c = "KOTLIN"
if (a == b)
println("a is equal to b")
if (a == c)
println("a is equal to c")
}
Output:
a is equal to b
2. equals()로 문자열 비교
a.equals(b)
는 a와 b의 문자열이 같을 때 true, 다를 때 false를 리턴합니다. ==
연산자와 동일한 결과를 리턴합니다.
fun main(args: Array<String>) {
val a = "kotlin"
val b = "kotlin"
val c = "KOTLIN"
if (a.equals(b))
println("a is equal to b")
if (a.equals(c))
println("a is equal to c")
}
Output:
a is equal to b
2.1 equals(string, ignoreCase) : Case Insensitive
대소문자를 무시하고 문자열을 비교하려면 equals(string, ignoreCase)
처럼, 두번째 인자 ignoreCase에 true를 전달하면 됩니다. false를 전달하거나 입력하지 않으면 대소문자를 구분하여 비교합니다.
fun main(args: Array<String>) {
val a = "kotlin"
val c = "KOTLIN"
if (a.equals(c, false))
println("a is equal to c (Case Sensitive)")
if (a.equals(c, true))
println("a is equal to c (Case Insensitive)")
}
Output:
a is equal to c (Case Insensitive)
3. compareTo()로 문자열 비교
a.compareTo(b)
는 문자열 a와 b를 비교하여 "같다", "a가 크다", "b가 크다"에 대한 정보를 리턴합니다.
equals()
는 "같다", "다르다"에 대한 정보만 리턴했다면, compareTo()
는 어떤 문자열이 더 큰지에 대한 추가 정보를 제공한다고 생각할 수 있습니다.
이런 크기 비교는 문자열 리스트를 오름차순 또는 내림차순으로 정렬할 때 사용될 수 있습니다.
Return value | Description |
---|---|
0 | Two strings are equal. |
negative integer | the string is less than the other |
positive integer | the string is greater than the other |
다음과 같은 코드로 문자열 비교를 할 수 있습니다.
fun main(args: Array<String>) {
val a = "kotlin"
val b = "kotlin"
val c = "KOTLIN"
if (a.compareTo(b) == 0)
println("a is equal to b")
if (a.compareTo(c) > 0)
println("a is greater than c")
if (c.compareTo(a) < 0)
println("c is less than a")
}
Output:
a is equal to b
a is greater than c
c is less than a
3.1 compareTo(string, ignoreCase) : Case Insensitive
대소문자를 무시하고 문자열을 비교하려면 compareTo(string, ignoreCase)
처럼 두번째 인자 ignoreCase에 true를 전달하면 됩니다.
false를 전달하거나 입력하지 않으면 대소문자를 구분하여 비교합니다.
fun main(args: Array<String>) {
val a = "kotlin"
val c = "KOTLIN"
if (a.compareTo(c, false) > 0)
println("a is greater than c (Case Sensitive)")
if (a.compareTo(c, true) == 0)
println("a is equals to c (Case Insensitive)")
}
Output:
a is greater than c (Case Sensitive)
a is equals to c (Case Insensitive)
References
Loading script...
Related Posts
- Kotlin - 배열에서 최소 값, 최대 값 찾기
- Kotlin - 2차원 배열 선언, 초기화 방법
- Kotlin - 배열 선언, 초기화 방법
- Kotlin - 리스트, 배열 길이 가져오기
- Kotlin - 리스트에서 최대, 최소 값 찾기
- Kotlin - for 반복문, 배열/리스트 순회
- Kotlin - Timer, 주기적으로 함수 실행
- Kotlin - sleep, 쓰레드 몇 초 지연
- Kotlin - Thread 생성 및 실행
- Kotlin에서 정규표현식 사용하기
- Kotlin - 문자열 길이 계산
- Kotlin - 문자열 비교 방법(equals, ==, compareTo)
- Kotlin - 2개의 배열 하나로 합치기
- Kotlin - 2개의 List 하나로 합치기
- Kotlin - 디렉토리의 모든 파일 리스트 출력
- Kotlin - 리스트 정렬 방법 (sort, sortBy, sortWith)
- Kotlin - 문자열 뒤집기 (Reverse String)
- Kotlin - 랜덤 숫자 생성 (Random, SecureRandom)
- Kotlin - Range, 숫자 범위 표현
- Kotlin - 음수를 양수로 변환, math.abs()
- Kotlin - List를 Set로 변환
- Kotlin - Set를 List로 변환
- Kotlin - 문자열에서 숫자(int)만 추출하는 방법
- Kotlin - Map을 List로 변환하는 방법
- Kotlin - File, Directory가 존재하는지 확인
- Kotlin - List를 Map으로 변환
- Kotlin - List의 중복 요소 제거
- Kotlin - List를 Array로 변환
- Kotlin - 엘비스 연산자 (Elvis Operation)
- Kotlin - Array를 List로 변환
- Kotlin - String을 Float으로 변환
- Kotlin - String을 Double으로 변환
- Kotlin - String을 Int로 변환
- Kotlin - String을 Long으로 변환
- Kotlin - String Null 또는 Empty 체크