String 클래스는 Immutable 클래스 이기 때문에, 시그니쳐(Signature) 중 리턴 타입이 String 인 타입은 원본 객체가 바뀌는 것이 아니라, 새로운 객체를 만들어 반환 해준다.
이런 메서드를 접근자(accessor) 메서드 라고 한다. 호출 대상을 변경하는 메서드는 변경자(mutator)라고 한다
함수 | 설명 및 예제 |
boolean startWith(String str) boolean endsWith(String str) boolean contains(CharSequence str) |
특정 문자열로 시작, 종료 하거나 지정한 문자열을 포함하는지 체크한다. |
int length() | 문자열의 길이를 리턴한다 |
boolean equals() |
문자열을 비교할 때 사용하는 함수로 같으면 true, 다르면 false 를 리턴한다. 사용할 때는 a, b 가 있고 b가 null 일 가능성이 있다면, a.equals(b) 로 체크해야 null 까지 안전하게 검사가능하다. |
int compareTo(String str) | |
char charAt(int index) |
index 가 가리키는 부분의 문자를 리턴해준다 e.g "Hello".charAt(3) // 'l' "Hello".charAt(100) // throw StringIndexOutOfBoundsException() |
String concat(String str) |
str 을 기존의 문자열에 추가하여 문자열을 리턴해준다. e.g "Hello".concat("World") // "HelloWorld" |
String format(String format, Object... args) |
문자열 서식을 사용하여 서식화된 문자열을 반환한다 e.g String name = "nanamare" String.format("name is %s",name) // name is nanamare |
String split(String regex, int limit) |
regex 에 정규표현식 혹은 문자열을 대입하여 원하는 모양으로 문자열을 분리할 수 있다. limit 에는 구분자의 repetition(반복 횟수)을 지정할 수 있다 e.g String str = "123-456-789-0" str.split('-', '') // "1234567890" str.split("[0-9]","") // "1234567890" str.split('-', 1) // "123456-789-0" str.split('-', 2) // "123456789-0" |
String substring(int startIndex) String substring(int startIndex, int endIndex) |
원본의 문자열로 부터 startIndex 부터 마지막까지의 문자열을 반환하거나, endIndex 를 지정해주면 startIndex ~ endIndex 사이의 문자열을 반환해준다 |
int indexOf(String str) int lastIndexOf(String str) int indexOf(String str, int fromIndex) int lastIndexOf(String str, int fromIndex) |
전체 문자열이나 fromIndex 에서 시작하는 부분 문자열을 검색해서 str 이 처음 또는 마지막으로 나타난 위치를 얻는다. 일치하는 부분을 찾지 못하면 -1을 리턴한다. |
String replace(CharSequence oldString, CharSequence newString) String replaceAll(String regex, String replacement) |
oldString 이 나타난 부분을 모두 newString 으로 변환하여 문자열을 리턴해준다. replaceAll 도 replace 함수와 비슷하지만, regex 에 정규표현식을 사용할 수 있다 e.g str.replaceAll("\n"," ") // 안녕하세요 나나메어입니다
|
String toUpperCase() String toLowerCase() |
문자열의 모든 문자를 대문자 또는 소문자로 변환해서 문자열을 리턴해준다 |
String trim() |
문자열의 앞뒤 공백을 모두 제거한 문자열을 리턴한다 |
'Kotlin & Java' 카테고리의 다른 글
타입 변환과 instanceof 연산자 Tips (0) | 2020.03.02 |
---|---|
중첩 클래스 와 내부 클래스 (부제 : ViewHolder 를 이너 클래스로 만들때는 왜 static class 로 만들까?) (0) | 2020.03.01 |
자바 문자열 고찰 및 생각의 힘 (0) | 2020.02.28 |
자바 기본 타입 (Primitive type) (0) | 2020.02.27 |
간단하게 코루틴 알아보기 (0) | 2020.02.16 |