String 클래스 타입
- 클래스는 그 자체로 타입으로 사용 가능
- 즉, String 클래스는 문자열 타입으로 사용되며, 문자열과 관련된 여러 메서드들을 사용할 수 있음
- 큰따옴표""로 감싸진 문자열 리터럴
변수에 문자열을 할당하는 방법
1. String 타입의 변수에 문자열 리터럴을 직접 할당
String name = "GoToGuy";
2. String 클래스의 인스턴스를 생성하여 할당
String name = new String("GoToGuy");
- 두 방식의 공통점
참조 타입의 변수에 할당됨 : 실제 문자열의 내용을 값으로 가지는 것이 아니라, 문자열이 존재하는 메모리 공간의 주소값을 저장함
(toString() 메서드를 자동으로 호출해 문자열로 변환해주기 때문에 주소값이 아닌 문자열 내용이 출력됨)
- 두 방식의 차이점
직접 할당하는 방법은 동일한 문자열 리터럴을 두 변수에 할당하는 경우, 두 변수는 같은 문자열의 참조값을 공유함
인스턴스를 생성하는 방법은 문자열의 내용이 같더라도 별개의 인스턴스가 따로 생성되어서, 서로 다른 참조값을 가짐
String 클래스의 메서드
- charAt() 메서드 : 해당 문자열의 특정 인덱스에 해당하는 문자 반환
해당 문자열의 길이보다 큰 인덱스나 음수를 전달하면 오류 발생
- compareTo() 메서드 : 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교
해당 문자열이 인수로 전달된 문자열보다 작으면 음수를, 크면 양수, 두 문자열이 같다면 0을 반환
대소문자를 구분하여 비교 (대소문자 구분없이 비교하는 메서드는 compareToIgnoreCase())
- concat() 메서드 : 해당 문자열의 뒤에 인수로 전달된 문자열을 연결한 새로운 문자열 반환
- indexOf() 메서드 : 해당 문자열에서 인수로 전달된 문자나 문자열이 처음으로 등장하는 위치의 인덱스 반환
인수의 문자나 문자열이 해당 문자열에 포함되어 있지 않으면 -1 반환
- trim() 메서드 : 해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자 제거
- toLowerCase()/toUpperCase() 메서드 : 해당 문자열의 모든 문자를 소문자/대문자로 변환
'백엔드 개발자 공부 > Java' 카테고리의 다른 글
[Java] 제어문 (1) - 조건문 (0) | 2022.08.31 |
---|---|
[Java] 연산자 & 콘솔입출력 (0) | 2022.08.30 |
[Java] 타입 (0) | 2022.08.30 |
[Java] 변수 (0) | 2022.08.30 |
[Java] Intro (0) | 2022.08.30 |