문자와 문자열 자료형
- 문자열은 기본으로 변경할 수 없는 객체임.
- 즉 내부 원소를 추가하거나, 변경이 불가능함.
- 문자열을 변경하려면 변경 가능한
StringBuilder
클래스를 사용해야함.
var a: String = "abc"
a = "def"
- 위 코드는 a 변수가 참조하고 있는 공간에 “def”로 변경한게 아님.
- “def”라는 새로운 인스턴스를 생성해서 a가 해당 인스턴스를 참조하도록 만듦.
- 이전에 참조된 “abc”는 가비지 컬렉터에 의해 처리됨.
- 문자열은 문자를 원소로 갖는다. 즉, 내부의 원소를 조회할 수 있음.
- 문자열 메서드로 내부를 조회하는 메서드는 다음과 같음.
get
, first
, last
, legnth
, 등
빈 문자열 처리
isEmpty
: 빈 문자열 체크, 문자열의 길이가 0인 경우에만 true를 반환함.
isBlank
: 빈 문자열 체크, 공백 문자만 포함한다면 true를 반환함.
- 공백 문자는 space(공백), \t(탭), \n(줄 바꿈)등 을 의미함.
trimEnd
: 마지막 공백만 제거
trimStart
: 처음 공백만 제거
trim
: 앞, 뒤 공백 제거
- 공백 문자는 space(공백), \t(탭), \n(줄 바꿈)등 을 의미함.
문자열 비교와 대소문자 등의 메서드
replaceFirstChar
: 문자열의 첫 글자를 대, 소문자로 변경
val str = "eagle"
str.replaceFirstChar { it.uppercase() } // Eagle
uppercase/lowercase
: 문자열을 대, 소문자로 변경
val str = "eagle"
val upperStr = str.uppercase()
println(upperStr) // EAGLE
println(upperStr.lowercase()) // eagle
문자열 매치 메서드
startsWith/endsWith
: 첫, 마지막 글자의 파라미터의 문자열을 매치함.
val str = "eagle"
println(str.startsWith("e")) // true