String

혜연·2025년 2월 28일
0

Java

목록 보기
5/6
post-thumbnail

String 클래스

String 클래스는 문자열을 다루는 클래스로, java.lang 패키지에 포함되어 따로 import할 필요없이 바로 사용할 수 있다. String 클래스로 생성된 문자열은 변경할 수 없기에, 변경이 필요한 경우에는 새로운 객체를 생성해야 한다.
=> 변경이 자주 필요한 경우에 StringBilder 클래스 사용


1. 문자열 선언

String mesg ="Hellod World"; // 리터럴 방식
String mesg2 = new String("Hello"); // new 키워드 사용

리터럴 방식을 사용하는 것이 더 일반적이다. 리터럴 방식을 사용하면 String Constant Pool 에 저장되어 메모리 절약 가능


2. 문자열 비교

equals()
문자열 일치 여부를 확인할 때는 == 연산자가 아니라 equals()메서드를 사용한다.

mesg.equals("Hellod World") // true

3. 문자열 검색

indexOf(str)
: 문자열에서 가장 처음으로 발견한 str의 인덱스 위치를 반환한다.

  • str이 없는 경우 -1반환
mesg.indexOf("e") // 1
mesg.indexOf("d") // 5

lastIndexOf(str)
: 문자열의 가장 끝에서 부터 탐색하며, str의 인덱스 위치를 반환

mesg.lastIndexOf("d") // 11

contains(str)
: 문자열에 str을 포함하는지에 대한 여부를 boolean형으로 반환

mesg.contains("Hello") // true

4. 문자열 변환

toLowerCase() : 소문자로 변경

 mesg.toLowerCase() // hellod world

toUpperCase() : 대문자로 변경

mesg.toUpperCase() // HELLOD WORLD

trim() : 앞뒤 공백 제거

String spaced = "   Java   ";
System.out.println(spaced.trim()); // "Java"

5. 문자열 조작

concat(str)
: 문자열에 str을 연결시키는 메서드

mesg.concat("!!!!") // Hellod World!!!!

repeat(cnt)
: cnt만큼 문자열을 반복해주는 메서드

mesg.repeat(2) // Hellod WorldHellod World

replace(target, replacement)
: target을 replacement로 대체하는 메서드

  • 모든 타겟을 치환
mesg.replace("Hello", "world") // worldd World
mesg.replace("l", "100") // He100100od Wor100d

6. 문자열 분할 및 변환

charAt(index)
: 특정 인덱스에 위치한 문자를 반환하는 메서드

mesg.charAt(3) // l

split(regex)
: 문자열을 구분자(regex)를 통해 쪼개고, 배열로 반환하는 메서드

String mesg ="10,20,30,40";
            String [] arr = mesg.split(",");
            // [10,20,30,40]

String.valueOf()
: 모든 기본 타입의 데이터를 문자열로 변환하는 메서드

  • int, double, char, boolean 와 같은 기본 타입을 쉽게 문자열로 변환할 수 있다.
 String a = String.valueOf(100);
 System.out.println(a);

0개의 댓글

관련 채용 정보