목차
1. 문자열 관련 클래스: String
2. 문자열 관련 클래스: StringBuffer
3. 문자열 관련 클래스: StringTokenizer
1. 문자열 관련 클래스: String
1) String 클래스에서의 메모리 할당 방식① → ★StringTest00 참고
- new 연산자로 새로운 객체를 생성하게 되면 값이 같더라도 다른 주소를 가진다.
2) String 클래스에서의 메모리 할당 방식② → ★StringTest01 참고
- 값의 변화가 일어날 때마다 heap메모리상에 새로운 공간이 생성됨
- 값에 변화를 주게 되면 새로운 변수로 받아야 출력 가능
3) String 객체의 “+” 연산 수행 → ★ConnectString 참고
- 문자열과 문자열을 +연산자로 연산하면 연결이 된다. (ex. 자바파이썬)
- 문자열과 정수형을 +연산자로 연산해도 문자열+정수형으로 연결된다. (ex. 자바8)
4) String 클래스의 주요 메소드
① length() 메소드 → ★FindBlankIndex 참고
- 문자열의 길이를 구해주는 메소드. 글자수를 구해준다.
② indexOf() 메소드 → ★IndexOfTest참고
- 특정 문자의 인덱스 번호를 구해주는 역할을 하는 메소드
- indexOf(a) : a의 인덱스 번호를 구해준다.
- indexOf(a, 13) : 인덱스 번호 13 이후의 부터 ‘a’의 인덱스 번호를 구해준다. (2022-02-15 수정)
- 찾는 문자가 없을 경우에는 -1을 리턴한다.
③ trim() 메소드 → ★TrimTest 참고
- 문자열 좌우의 공백을 없애는 역할을 하는 메소드
④ substring() 메소드 → ★SubStringTest / SubStringEx / JuminCheck 참고
- 전체 문자열에서 특정 범위의 문자를 추출해주는 메소드
- substring(n) : index 번호 n번부터 끝까지 추출
- substring(n1, n2) : index 번호 n1부터 (n2-1)번까지 추출
⑤ replace() 메소드 → ★ReplaceEx 참고
- replace("자바", "JAVA") : "자바"를 "JAVA"로 치환해주는 메소드
2. 문자열 관련 클래스: StringBuffer
1) StringBuffer 클래스에서의 메모리 할당 방식 → ★StringBufferTest 참고
- String 클래스와는 달리, String 객체의 값에 변화가 일어나도 주소값은 변하지 않는다.
- append() 메소드로 문자열을 추가하면 공간의 크기를 동적으로 늘릴 수 있다.
2) StringBuffer 클래스의 주요 메소드
① append() 메소드 → ★AppendStringBuffer 참고
- 기존의 문자열 뒤에 새로운 문자열을 추가해주는 메소드
② insert() 메소드 → ★InsertStringBuffer 참고
- insert( 10, "very " ) : 인덱스10번 자리에 “very ”를 삽입한다.
3. 문자열 관련 클래스: StringTokenizer
→ ★StringTest04 / StringTokenizerTest1 / StringTokenizerTest2 참고
- StringTokenizer 클래스는 java.util 패키지에 포함된 클래스이기 때문에 import 하고 사용해야함
- StringTokenizer("이순신#을지문덕#강감찬#광개토대왕", "#") : 이순신(토큰), #(구분자)
- countTokens() : 파싱된 문자열이 모두 몇 개인지 알려준다.
- hasMoreTokens() : StringTokenizer 클래스 객체에서 토큰이 존재하는지를 확인한다.
'Java' 카테고리의 다른 글
12일차: Java 상속(필드/메소드 오버라이딩/생성자) - 2021.06.30 (0) | 2021.06.30 |
---|---|
11일차: Java split()메소드/Wrapper클래스/상속 - 2021.06.29 (0) | 2021.06.29 |
9일차: Java 패키지/접근 제어자/날짜시간 관련 클래스 - 2021.06.25 (0) | 2021.06.25 |
8일차: Java 메소드 호출/static/final - 2021.06.24 (0) | 2021.06.24 |
7일차: Java 클래스(필드, 생성자, 메소드)- 2021.06.23 (0) | 2021.06.23 |