본문 바로가기
2-1 학기/OOP

[JAVA] String 클래스

by bona.com 2023. 5. 31.

String 클래스

java.lang 패키지에 포함된 클래스로서 String 클래스는 문자열을 나타낸다.

 // 스트링 리터럴
String s1 = "abcd";
// 스트링 객체
char data[] = {'a', 'b', 'c', 'd'};
String s2 = new String(data);
String s3 = new String("abcd");
  1. 스트링 리터럴: 자바 내부에서 리터럴 테이블로 특별히 관리하여 동일한 리터럴을 공유시킨다.
  2. 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