String 객체에는 다양한 메소드들이 있는데 한번씩 살펴보고자 한다.
1. int length() : 스트링 객체의 문자 갯수에 대해 반환한다.
"Hello".length(); // 5
2. Char charAt(int i) : i번째 인덱스에 있는 문자를 반환한다. 예시의 1번째 인덱스는 'e' 이다.(인덱스는 0부터 시작)
"Hello".charAt(1); // e
3. String substring(int i) : i번째 인덱스의 문자부터 끝까지를 반환한다.
"Hello".substring(3); // lo
4. String substring(int i, int j) : i번째 인덱스부터 j-1번째 인덱스를 반환한다. 1번째 인덱스의 문자는 'e'익고 (3-1)번째 문자는 'l'이다.
"Hello".substring(1,3); // el
5. String concat(String str) : 인자의 문자열을 끝에 병합하여 새로운 문자열을 반환한다.
"Hello".concat(" World"); // Hello World
6. int indexOf(String s) : 해당문자열이 첫번째로 나타는 인덱스를 반환한다. "Hello"가 처음 나타는 인덱스는 "Hi " 다음 3번째 인덱스이다. 뒤에 한번 더 나타나는 "Hello"는 무시된다.
"Hi Hello World Hello".indexOf("Hello"); // 3
7. int indexOf(String s, int i) : 6번과 유사하나 탐색하는 시작 인덱스를 지정한다. 4번째 인덱스부터 찾으므로 뒤에 "Hello"가 시작하는 인덱스인 15를 반환한다.
"Hi Hello World Hello".indexOf("Hello", 4); // 15
8. int lastIndexOf(String s) : 인자의 문자열이 마지막으로 나타나는 인덱스를 반환한다. 마지막으로 나타나느 "Hello"의 시작 인덱스인 15가 반환된다.
"Hi Hello World Hello".lastIndexOf("Hello"); // 15
9. boolean equals(Object otherObj) : 인자의 스트링 객체와 동일한지 검증한다. 대소문자를 구분하여 검증한다.
"Hello".equals("hello"); // false
10. boolean equalsIgnoreCase(String anotherString) : 9번과 유사하나 대소문자를 구분하지 않고 검증한다.
"Hello".equalsIgnoreCase("hello"); // true
11. int compareTo(String anotherString) : 인자의 스트링과 사전상으로 비교한다. 사전상으로 비교한다는 의미는 abc.. 나 ㄱㄴㄷ.. 순으로 오름차순 비교하여 더 앞쪽이면 음수, 같으면 0, 뒷쪽이면 양수가 반환된다.
"Hello" <--> "Zello" 에서는 "H"가 "Z"보다 사전상으로 앞쪽에 위치하므로 음수가 반환됐다.
아래 예시에서는 'H'와 'Z' 또는 'A'와의 차이만큼 정수가 반환되지만 보통 (음수, 0, 양수) 이 정도로만 체크한다.
"Hello".compareTo("Zello"); // -18
"Hello".compareTo("Aello"); // 7
"Hello".compareTo("Hello"); // 0
12. int compareToIgnoreCase( String anotherString) : 11번과 유사하지만 비교시 대소문자를 구분하지 않고 비교한다.
"Hello".compareToIgnoreCase("hEllO"); // 0
13. String toLowerCase() : 스트링 객체를 소문자로 변경한 새로운 스트링 객체를 반환한다.
"HellO".toLowerCase(); // hello
14. String toUpperCase() : 스트링 객체를 대문자로 변경한 새로운 스트링 객체를 반환한다.
"HellO".toUpperCase(); // HELLO
16. String replace(char oldChar, char newChar) : 첫번째 인자의 문자를 찾아 두번째 인자로 치환한다.
"Hello".replace('l', 'z'); // hezzo
'개발 > JAVA' 카테고리의 다른 글
Java String reverse (문자열 뒤집기) (2) | 2020.12.13 |
---|---|
StringBuffer(StringBuilder) 클래스 기본 및 사용 (0) | 2020.12.13 |
String 생성자(생성자 종류 및 예시) (0) | 2020.12.12 |
Java 콘솔에서 값 읽기(BufferedReader, Scanner, Console) (0) | 2020.12.11 |
Java에는 Call-By-Value(Pass-By-Value)만 존재한다. (0) | 2020.12.11 |