
참고
자바의 정석
String[] name = new String[3]; // 3개의 문자열을 담을 수 있는 배열을 생성
null이란? 어떠한 객체도 가르키고 있지 않다는 상태
String[] name = new String[3];
name[0] = "Kim";
name[1] = "Park";
name[2] = "Yi";
String[] name = new String[]{"Kim", "Park", "Yi"};
String[] name = {"Kim", "Park", "Yi"};
String[] name = new String[3];
name[0] = "Kim";
name[1] = "Park";
name[2] = "Yi";
String 클래스는 char배열에 기능(메서드)를 추가한 것이다.
💡 참고
C언어에서는 문자열을 char 배열로 다루지만, 자바에서는 char배열과 그에 관련된 기능들을 묶어둔 String 클래스에 정의 한다. 객체지향이라는 개념이 있기 전에는 기능과 데이터를 분리하였지만, 객체지향 등장 후, 데이터와 관련된 기능을 하나의 클래스로 묶어서 사용한다. 즉, 서로 관련된 것들끼리 데이터와 기능을 구분하지 않고 함께 묶어서 사용한다.
String str = "Java";
str += "17";
System.out.println(str); // 기존 문자열을 변경한 것 같지만 새로운 문자열이 생긴것을 출력한것이다.
변경 가능한 문자열을 다룰려면 StringBuffer클래스를 사용하면 된다.
| 메서드 | 설명 |
|---|---|
| char charAt(int index) | 문자열에 해당 위치(index)에 있는 문자를 반환한다. |
| int length() | 문자열의 길이를 반환한다. |
| String substring(int from, int to) | 문자열에 해당범위(from ~ to)에 있는 문자열을 반환한다. (to는 범위에 포함되지 않는다.) |
| boolean equals(Object obj) | 문자열의 내용이 obj와 같은지 확인한다. 같으면 true, 다르면 false |
| char[] toCharArray() | 문자열을 문자배열로 변환하여 반환한다. |
equals 메서드는 비교할 때 대소문자를 구분하여 비교한다. 만약, 대소문자 구분없이 비교할려면 equalsIgnoreCase()를 사용해야한다.
char[] chArr = {'A', 'B', 'C'};
String str = new String(chArr); // char배열 -> String
char[] tmp = str.toCharArray(); // String -> char배열
java App.java abc 123