String 클래스
java.lang 패키지에 포함된 클래스로서 String 클래스는 문자열을 나타낸다.
// 스트링 리터럴
String s1 = "abcd";
// 스트링 객체
char data[] = {'a', 'b', 'c', 'd'};
String s2 = new String(data);
String s3 = new String("abcd");
- 스트링 리터럴: 자바 내부에서 리터럴 테이블로 특별히 관리하여 동일한 리터럴을 공유시킨다.
- new String(): new를 이용하여 생성되는 다른 객체와 동일하게 힙 메모리에 생성된다.
- 스트링 객체는 수정이 불가능하다.
다음 코드의 실행 결과 t는 "HelloJava"를 가리틴다. 하지만 s는 변함없이 "Hello" 그대로이다.
String s = new String("Hello");
String t = c.concat("Java");
문자열 s를 변경하고 싶으면 다음과 같이 해야 한다.
s = s.concat("Java");
String 활용
- 문자열 비교: int compareTo(String anotherString)
compareTo() 메소드는 현재 스트링과 매개변수로 주어진 anotherString의 스트링을 사전순으로 비교하여, 두 문자열이 같으면 0, 현재 문자열이 anotherString의 문자열보다 사전에 먼저 나오면 음수를, 뒤에 나오면 양수를 리턴한다.
- 문자열 연결: String concat(String str)
만일 System.out.println(객체 + "입니다.");와 같이 + 연산의 피연산자에 객체가 있는 경우는 '객체.toString()' 메소드를 호출하여 객체를 문자열로 변환한 후, 문자열 연결을 실행한다.
또는 + 연산의 피연산자로 기본 타입의 값이 있는 경우 이 값을 문자열로 변환한 후, 문자열 연결을 실행한다.
- 공백 제거: String trim()
문자열 앞뒤에 있는 공백 문자를 제거한 새로운 문자열을 리턴한다.
- 서브 스트링 리턴: String subString()
a = a.subString(5); // 5인덱스부터 끝까지 리턴
a = a.subString(3,5); // 3인덱스 이상 5인덱스 미만까지 리턴
'2-1 학기 > OOP' 카테고리의 다른 글
[JAVA] 컬렉션과 제네릭 (0) | 2023.05.31 |
---|---|
[JAVA] Wrapper 클래스 (0) | 2023.05.31 |
[JAVA] Object 클래스 (0) | 2023.05.31 |
[JAVA] 메소드 오버라이딩(Method Overriding) (0) | 2023.05.30 |
[JAVA] 업캐스팅과 instanceof 연산자 (0) | 2023.05.23 |