티스토리 뷰
이전에 올린 글이 스타일이 안먹고 깨져서 삭제하고 다시올린다..
자바의 String 클래스는 문자열을 저장하고 사용하는데 쓰인다.
보통 문자 하나는 기본형인 char 형을 쓰고 문자열 을 사용할 때는 String 클래스를 사용한다.
String도 클래스이기 때문에 메소드가 존재한다.
문자열 연산을 위한 기본 메소드
concat(String str) 메소드
대상 문자열 뒤에 매개변수 str 문자열을 덧붙인 새로운 문자열을 반환한다.
"ABC".concat("DEF");
//결과: ABCDEF
substring(int beginIndex) 메소드
대상 문자열에서 매개변수 beginIndex 위치에 있는 문자열을 새롭게 반환한다.
beginIndex는 0부터 시작한다.
"ABCD".substring(0);
//결과: ABCD
"ABCD".substring(3);
//결과: D
substring(int beginIndex, int endIndex) 메소드
문자열에서 beginIndex와 endIndex 위치 사이에 있는 문자열을 새롭게 반환한다.
그러므로 endIndex의 값은 반드시 beginIndex의 값보다 커야 한다. 문자를 자르는 기능을 한다.
"ABCDE".substring(3,5);
//결과: DE
replace(Char oldChar, Char newChar) 메소드
대상 문자열에서 oldChar 문자를 newChar 문자로 바꾼 새로운 문자열을 반환한다.
"ABCDE".replace('A','a');
//결과: aBCDE
replace(CharSequence t, CharSequence r) 메소드
대상 문자열에서 바꾸고 싶은 문자열 t를 문자열 r로 바꾸어 새로운 문자열을 반환한다.
"ABCDE".replace("ABC","abc");
//결과: "abcDE"
toLowerCase() 메소드
문자열의 문자들을 모두 소문자로 바꾸어 새로운 문자열을 반환한다.
"Target String".toLowerCase();
//결과: target string"
toUpperCase() 메소드
문자열의 문자들을 모두 대문자로 바꾸어 새로운 문자열을 반환한다.
"Target String".toUpperCase();
//결과: TARGET STRING"
문자열 비교를 위한 메소드
equals(Object anObject) 메소드
대상 문자열이 anObject 데이터(객체)와 같은지 비교해서 boolean 값을 반환한다.
"ABC".equals("DEF");
//결과: false
compareTo(String str) 메소드
대상 문자열이 사전적으로 앞에 있는지 뒤에 있는지 확인한다.
반환값이 0이면 두 문자열은 같고, 양수면 대상 문자열이 str보다 뒤에 있고, 음수면 대상 문자열이 str보다 앞에 있다.
"a".compareTo("c");
//결과: -2
startWith(String prefix) 메소드
대상 문자열이 매개변수로 받은 접두사(prefix) 문자열로 시작하는지 확인한 후 boolean 값을 반환한다.
"ABCDE".startWith("ABC");
//결과: true
endWith(String suffix) 메소드
대상 문자열이 매개변수로 받은 접미사(suffix) 문자열로 끝나는지 확인한 후 boolean 값을 반환한다.
"ABCDE".endWith("DE");
//결과: true
특정 문자열 위치 파악을 위한 메소드
indexOf(int ch) 메소드
주어진 문자(ch)가 문자열에 존재하는지 확인하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. (index는 0부터 시작)
"HELLO".indexOf('O');
//결과: 4
"HELLO".indexOf('K');
//결과: -1
indexOf(int ch, int pos) 메소드
주어진 문자(ch)가 문자열에 존재하는지 지정된 위치(pos)부터 확인하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. (index는 0부터 시작)
"HELLO".indexOf('E', 0);
//결과: 1
"HELLO".indexOf('E', 2);
//결과: -1
indexOf(String str) 메소드
대상 문자열에서 str 문자가 앞에서부터 맨 처음 시작하는 위치(index)를 반환한다. (index는 0부터 시작)
포함되어 있지 않으면 -1을 반환한다.
"ABCDE".indexOf("B");
//결과: 1
lastIndexOf(int ch) 메소드
지정된 문자 또는 문자코드를 문자열의 오른쪽 끝에서부터 찾아서 위치(index)를 알려준다. 못 찾으면 -1을 반환한다.
"java.lang.Object".lastIndexOf('.');
//결과: 9
"java.lang.Object".indexOf('.');
//결과: 4
lastIndexOf(String str) 메소드
대상 문자열에서 str 문자가 뒤에서부터 맨 처음 시작하는 위치(index)를 반환한다.
"ABCDEABC".lastIndexOf("A");
//결과: 5
문자열 구분을 위한 메소드
split(String regex) 메소드
문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다.
String animals = "dog,cat,bear";
String[] arr = animals.split(",");
//결과 : arr[0] = "dog"
arr[1] = "cat"
arr[2] = "bear"
Java8 부터 새롭게 추가된 메소드
join(CharSequence delimiter, CharSequence... elements) 메소드
join 메소드 파라미터를 살펴보면 delimiter 구분문자 가 들어가고 ... elements 요소가 들어간다. 자바에서 ...은 파라미터를 여러개 받을수 있는 구조이다. 자동으로 배열처리가 된다. Array나 list도 받을 수 있다.
여러 문자열 사이에 구분자를 넣어서 결합하는 메소드로 구분자로 문자열을 자르는 split()과 반대의 작업을 한다고 생각하면 된다.
예제를 본다면 그냥 이렇게 사용하는 구나 하고 알 수 있을것이다.
구분자로 문자열 Join
String result = String.join("-", "2018","01","22");
System.out.println(result);
//결과: 2018-01-22
구분자에 의해서 배열에 Join
List<String> list = Arrays.asList("java", "python", "nodejs", "ruby");
String result = String.join("-_-", list);
System.out.println(result);
//결과: java-_-python-_-nodejs-_-ruby
- Total
- Today
- Yesterday
- oracle
- springboot
- 베리 심플
- Linux
- intellij
- config-location
- Java
- svn
- LocalDate
- input
- docker
- elasticsearch
- localtime
- LocalDateTime
- k8s
- mybatis
- Kotlin
- Spring
- 북리뷰
- Bash tab
- maven
- Github Status
- rocky
- JavaScript
- jQuery
- Mac
- window
- Spring Security
- 오라클
- mybatis config
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |