Language/Java

[Java] String 문자열 정리

pongic 2022. 9. 26. 00:28
반응형

String 문자열 이란?

기본적으로 String 타입은 큰따옴표(" ")로 감싸진 문자열을 의미한다. 자바는 String 클래스 타입을 사용하여 문자열을 다룬다. 다시 말해 문자열은 String 클래스를 통해 다루어지고 그 안에 있는 메서드들을 통해 여러 문자열 관련 메서드들을 사용할 수 있다.

 

String 타입의 변수 선언과 할당

// 문자열 리터럴을 String 타입의 변수 name에 할당하는 방법
String name1 = "Kim Coding";

// String 클래스의 인스턴스를 생성하는 방법
String name2 = new String("Kim Coding");
  • String 타입의 변수는 String 변수명; 으로 선언한다.
  • 선언한 변수에 문자열을 할당하는 방법에는 두 가지가 있다.
    • 문자열 리터럴을 할당하는 방법 : 변수 = "문자열";
    • String 클래스의 인스턴스를 생성하여 할당하는 방법 : 변수 = new String("문자열");

위의 두 가지 방법은 공통적으로 참조 타입의 변수에 할당된다는 것이다. 즉, 실제 문자열의 내용을 값으로 가지고 있는 것이 아니라, 문자열이 존재하는 메모리 공간 상의 주소값을 저장하고 있다.

 

※ 문자열이 같은지 비교할 때에는 == 보다는 equals() 메서드를 사용해야 한다.

 

 

String 클래스의 메서드이다. 이 외에도 많은 메서드들이 있다.

charAt(int index)

해당 문자열의 특정 인덱스에 해당하는 문자를 반환한다. 해당 문자열의 길이보다 큰 인덱스나 음수를 전달하면 오류가 발생한다. char 타입을 리턴한다.

 

compareTo(String str)  /  compareToIgnoreCase(String str)

해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교한다. 비교할 때 대소문자를 구분하여 비교한다. 두 문자열이 같다면 0, 해당 문자열이 인수로 전달된 문자열보다 작으면 음수, 크면 양수를 반환한다. int 타입을 리턴한다.

만약 비교할 때 대소문자를 구분하지 않기를 원한다면 compareToIgnoreCase(String str) 사용

 

concat(String str)

해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환한다. 만약 인수로 전달된 문자열의 길이가 0이면 해당 문자열을 그대로 반환한다. String 타입을 리턴한다.

 

indexOf(int ch or String str)

해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환한다. 만약 해당 문자열에 전달된 문자나 문자열이 포함되어 있지 않으면 -1을 반환한다. int 타입을 리턴한다.

 

trim()

해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자를 제거해 준다. String 타입을 리턴한다.

 

toLowerCase() / toUpperCase()

해당 문자열의 모든 문자를 소문자, 대문자로 변환시켜 준다. String 타입을 리턴한다.

반응형