1. String 배열
1.1 String 배열의 선언과 생성
String[] name = new String[3]; // 3개의 문자열을 담을 수 있는 배열 생성
3개의 String 타입의 참조변수를 저장하기 위한 공간이 마련되고 참조형 변수의 기본값은 null이므로 각 요소의 값은 null로 초기화된다. 참고로 null은 어떠한 객체도 가리키고 있지 않다는 뜻이다.
1.2 String 배열의 초기화
Stirng[] name = new String["kim", "king", "dong"]
Stirng[] name = {"kim", "king", "dong"}
String 배열의 경우 int 배열과 동일한 방법으로 한다.
배열에 실제 객체가 아닌 객체의 주소가 저장되어 있는 것을 볼 수 있다. 이처럼 기본형 배열이 아닌 경우, 즉, 참조형 배열의 경우 배열에 저장되는 것은 객체의 주소이다.
(자바에서 Stirng은 기본형 변수가 아니지만 기본형 변수처럼! 사용하도록 만들어준다. )
1..3 char배열과 String 클래스
문자열이라는 용어는 문자를 연이어 늘어놓은 것을 의미하므로 문자배열인 char배열과 같은 뜻이다. 그런데 자바에서는 char 배열이 아닌 String 클래스를 이용해서 문자열을 처리하는 이유는 String클래스가 char 배열에 여러 가지 기능을 추가해 확장한 것이기 때문이다.
객체지향언어인 자바에서는 char 배열과 그에 관련된 기능을 함께 묶어서 클래스에 정의한다. 여기서 말하는 기능은 함수를 의미하며, 메서드는 객체지향 언어에서 함수대신 사용하는 용어일 뿐 같은 뜻이다.
char 배열과 String 클래스의 중요한 차이는 String 객체는 읽을수만 있을 뿐 내용을 변경할 수 없다.
밑의 예제처럼 내용이 변경된 것 같지만, 문자열은 변경할 수 없으므로 새로운 내용의 문자열이 생성된다.
String str = "java";
str = str + "17";
System.out.println(str); //java17 출력
변경 가능한 문자열을 다루려면 , StringBuffer 클래스를 사용하면 된다.
String 클래스의 주요 메서드
//1. 문자열에서 해당 위치의 문자를 반환
String str = "abcde";
char ch = str.charAt(0);
//2.문자열의 길이 반환
int len = str.length();
//3.문자열의 범위를 반환 - 범위는 index 범위를 말하며, 마지막 범위는 제외된다.
String tmp = str.substring(1,3); //bc 출력
//4. 문자열의 내용이 문자열의 내용과 같은지 확인한다. true, false 출력
str.equals("a");
//5. 문자열을 문자배열 (char[])로 변환해서 반환한다.
str.toCharArray();
char 배열과 String 클래스의 변환
char[] chArr = {'a','n','d'}; //char 배열
String str = new String(chArr); //char 배열 -> Stirng
char[] tmp = str.toCharArray(); //Stirng -> char 배열
출처 : 자바의 정석
'Java' 카테고리의 다른 글
[Java] 컬렉션 프레임워크 (Collection Framework) (1) | 2023.12.06 |
---|---|
[JAVA] 다차원 배열 (0) | 2023.12.06 |
[Java] 배열(Array) (1) | 2023.12.06 |
객체지향 설계 5원칙 - SOLID (0) | 2023.02.23 |
원시타입(Primitive type) vs 참조타입(Reference type) (0) | 2023.02.17 |