String Class와 Method

유방현·2024년 10월 22일

Java에서 String 클래스는 문자열을 표현하고 조작하는 데 사용되는 핵심 클래스이며, 불변(immutable)의 특성을 가지고 있어, 한번 생성된 문자열은 변경될 수 없습니다. 자바의 문자열을 객체로 관리됩니다.

String Class의 특징

  • 불변 : 한번 생성된 String 객체는 변경 될 수 없습니다.
  • 문자열 리터럴 : 큰따움표로 표시됩니다.(””)
  • StringPool: 동일한 문자열 리터럴은 StringPool에서 재사용됩니다.
String s1 = "Hello";  // 문자열 리터럴
String s2 = new String("Hello");  // 새로운 String 객체 생성

주요 메소드

문자열 기일 및 비교

  • length () : 문자열의 길이를 반환합니다.
  • isEmpty() : 문자열이 비어있는지 확인합니다.
  • equals(Object obj) : 다른 문자열과 문자를 비교합니다.
  • equlasIgnoreCase(String s) : 대소문자를 무시하고 비교합니다.
  • compareTo(String s) : 사전 순으로 문자열을 비교합니다.
String str = "Hello, World!";
System.out.println(str.length());  // 13
System.out.println(str.isEmpty());  // false
System.out.println(str.equals("hello, world!"));  // false
System.out.println(str.equalsIgnoreCase("hello, world!"));  // true

문자열 검색

  • charAt(index) : 지정된 인덱스의 문자를 반환합니다.
  • indexOf(String s) : 부분 문자열의 마지막 출현 위치를 반환합니다.
  • contains(String s) : 부분 문자열이 포함되어 있는지 확인합니다.
  • startWith(String prefix) : 지정된 접두사로 문자열이 시작하는지 확인합니다.
  • endWidth(Sttring suffix) : 지정된 접미사로 문자열이 끝나는지 확인합니다.
String str = "Hello, World!";
System.out.println(str.charAt(1));  // 'e'
System.out.println(str.indexOf("World"));  // 7
System.out.println(str.contains("lo"));  // true
System.out.println(str.startsWith("He"));  // true

문자열 변환 및 대체

  • toLowerCase(): 모든 문자를 소문자로 변환합니다.
  • toUpperCase(): 모든 문자를 대문자로 변환합니다.
  • trim(): 문자열의 앞뒤 공백을 제거합니다.
  • replace(char oldChar, char newChar): 문자를 대체합니다.
  • replaceAll(String regex, String replacement): 정규식과 일치하는 부분을 대체합니다.
  • substring(int beginIndex, int endIndex): 부분 문자열을 추출합니다.

문자열 포맷팅

  • format(String format, Object... args): 지정된 형식에 따라 문자열을 포맷팅합니다.
String formatted = String.format("Name: %s, Age: %d", "John", 30);
System.out.println(formatted);// "Name: John, Age: 30"

문자열 변환

  • valueOf(primitive type or Object): 다양한 타입의 값을 문자열로 변환합니다.
String strValue = String.valueOf(42);
System.out.println(strValue);  // "42"

0개의 댓글