1. String 타입
1) 문자열을 저장하는 클래스 타입
2) 문자열 리터럴이 동일하다면 String 객체를 공유함.
3) 하지만 new 연산자를 이용해서 String 객체를 생성한다면, 힙 영역에는 새로운 String 객체가 생성됨.
(이 경우는 String 객체를 공유하지 않고, 새로운 객체가 생성 된다는 것.)
4) String 의 문자열 그 자체를 비교할 때는 ==연산자가 아닌, .equals() 메서드를 사용해야 함.
* 기본 자료형 : 실제 값을 저장
String apple = "apple";
*참조형 : 클래스를 사용하여 값이 저장되어 있는 주소를 저장
String banana = new String("banana");
2. String 클래스의 주요 메서드
1) char charAt(int index) : 문자열에서 해당 위치에 있는 문자를 반환한다.
String str = "ABCDE";
char ch = str.charAt(3); //문자열 str의 0번째인 'A'부터 체크해서 3번째 문자 'D'를 ch에 저장함.
2) int length() : 문자열의 길이를 반환한다.
String str = "ABCDE";
int ch = str.length(); //문자열 str의 0번째인 'A'부터 4번째 문자 'E'까지 총 5개이므로 5가 저장 됨.
3) String substring(int from, int to) : 문자열에서 해당 범위(from~to)의 문자열을 반환한다. (※맨 마지막 인덱스는 포함 안함)
String str1 = "ABCDE";
String s = str1.substring(1,4); //str에서 index범위 1~4의 문자들을 읽는데, 출력할 때 4번째 문자는 포함 안함.
System.out.println(tmp1); //"BCD" 가 출력 됨.
String str2 = "ABCDE";
String s2 = str2.substring(1); //숫자 하나만 입력할 경우 index 1번 문자부터 끝까지 출력됨.
System.out.println(tmp2); //"BCDE" 가 출력 됨.
4) boolean equals() //문자열의 내용이 같은 지 확인한다. 같으면 결과는 true, 다르면 false
boolean equalsIgnoreCase() //문자열의 내용이 같은 지 확인한다. 대소문자를 구분하지 않고 비교한다.
5) char[] toCharArray() : 문자열을 문자배열(char[])로 변환해서 반환한다.
public class Class {
public static void main(String[] args) {
String str = "hello world";
char[] arr = str.toCharArray();
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i]);
}
}
}
출력결과 : hello world
참고 : [한빛미디어] 이것이 자바다 (신용권의 Java 프로그래밍 정복) Chapter 5.참조타입
참고 : [도우출판] JAVA의 정석(3ND EDITION)-자바의 정석 최신 Java 8.0 포함 Chapter 5.String 클래스
'JAVA' 카테고리의 다른 글
형 변환 (0) | 2022.08.20 |
---|---|
콘솔 입출력 환경, printf 사용법 (0) | 2022.08.20 |
패키지 (package) 와 import (0) | 2022.08.14 |
객체 지향 프로그래밍 (0) | 2022.08.14 |
연산자 (0) | 2022.08.14 |
댓글