더북(TheBook)

2.3.2 기본 문자열 연산

모든 String 인스턴스는 문자열에 든 문자 수를 표현하는 length와 문자열의 마지막 문자 인덱스를 표현하는 lastIndex 프로퍼티를 제공한다.

"Hello!".length      // 6
"Hello!".lastIndex   // 5(첫 번째 문자의 인덱스가 0이므로)

인덱스를 각괄호([]) 안에 넣는 연산자를 사용해 개별 문자에 접근할 수 있다. 인덱스는 0부터 시작한다. JVM에서 잘못된 인덱스를 넘기면 자바와 마찬가지로 StringIndexOutOfBoundsException 예외가 발생한다.

val s = "Hello!"
println(s[0])  // H
println(s[1])  // e
println(s[5])  // !
println(s[10]) // 잘못된 인덱스

+ 연산자를 사용해 두 문자열을 연결(concatenate)할 수 있다. toString()을 사용해 문자열로 변환될 수 있는 모든 값을 +의 두 번째 피연산자로 지정할 수 있다. 하지만 일반적으로 문자열 템플릿이 더 간결하므로 문자열 템플릿을 사용하는 것이 좋다.

val s = "The sum is: " + sum // "The sum is $sum"으로 대신할 수 있음

문자열은 ==!=를 사용해 동등성을 비교할 수 있다. 이들 연산은 문자열의 내용을 비교하므로, 서로 다른 두 객체 인스턴스를 비교해도 문자들의 순서와 길이가 같으면 같은 문자열로 간주한다.

val s1 = "Hello!"
val s2 = "Hel" + "lo!"
println(s1 == s2) // true

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.