🖥️ Backend/Java

String 클래스 메서드 총 정리

Developer Quarterly 2025. 4. 23. 10:52
메서드/설명 예제 결과
import java.lang.String;
(java.lang 패키지는 자동으로 import)
String (String s)
주어진 문자열 (s)을 갖는 String 인스턴스를 생성
String s = new String("HI?"); s="HI?"
String(char[] value)
주어진 문자열(value)을 갖는 String인스턴스를 생성
char[] c = {'H','e','l','l','o'};
String str = new String(c);
s= "Hello"
String(StringBuffer buf)
StringBuffer 인스턴스가 갖고 있는 문자열과 같은 내용의 String인스턴스를 생성
StringBuffer sb = new StringBuffer("sbsbsb");
String s = new String(sb);
s="sbsbsb"
char charAt(int index)
지정된 위치 (index)에 있는 문자를 알려준다.(index는 0부터 시작)
String s = "Hello";
String n = "0123456";
char c = str.charAt(0);
char c2 = n.charAt(2);
c = 'H'
c2 = '2'
int compareTo(String str)
문자열(str)과 사전순서로 비교한다. 같으면 0을, 사전순으로 이전이면 음수를, 이후면 양수를 반환한다.
(String클래스는 Comparable 인터페이스를 구현)
int i = "aaa".compareTo("aaa");
int i2 = "aaa".compareTo("nnn");
int i3 = "bbb".compareTo("aaa");
i=0
i2=-1
i3=1
String concat(String str)
문자열(str)을 뒤에 덧붙인다.
String s = "Hello";
String s2 = s.concat(" World");
s2 = "Hello World"
boolean contains(CharSequence s)
지정된 문자열(s)이 포함되었는지 검사한다.
String s = "abcedfg";
boolean b = s.contains("bc");
b = true
boolean endsWith(String suffix)
지정된 문자열(suffix)로 끝나는지 검사한다.
String file = "Hello.txt";
boolean b = str.endsWith("txt");
b = true
boolean startsWith(String str)
주어진 문자열(str)로 시작하는지 검사한다.
String s = "Hello World";
boolean b = s.startsWith("Hello");
b = true
boolean equals(Object obj)
매개변수로 받은 문자열(obj)과 String인스턴스의 문자열을 비교한다. 비교 후 같으면 true 다르면 false를 반환한다.
String s = "Hello";
boolean b = str.equals("Hello");
boolean b2 = str.equals("hello");
b = true
b2 = false
boolean equalsIgnoreCase(String str)
문자열과 String인스턴스의 문자열을 대소문자 구분없이 비교.
String str = "Hello";
boolean b = str.equalsIgnoreCase("Hello");
boolean b2 = str.equalsIgnoreCase("hello");
b = true
b2 = true
int indexOf(int ch)
주어진 문자(ch)가 문자열에 존재하는지 확인하여 index를 알려준다. 못 찾으면 -1를 반환
String s="Hello";
int idx1 = s.indexOf('o');
int idx2 = s.indexOf('s'); 
idx1 = 4 
idx2 = -1
int indexOf(int ch, int pos)
주어진 문자(ch)가 문자열에 존재하는지 지정된 위치(pos)부터 확인하여 index를 알려준다. 못 찾으면 -1 반환
String s = "Hello";
int idx1 = s.indexOf('e',0);
int idx2 = s.indexOf('e',2);
int idx3 = s.indexOf('e',1);
idx1 = 1
idx2 = -1
idx3 = 1
int indexOf(String str)
주어진 문자열이 존재하는지 확인하여 index를 알려준다. 못 찾으면 -1 반환
String s = "ABCDEFG";
int idx = s.indexOf("CD");
idx = 2
String intern()
문자열을 상수풀에 등록한다.이미 상수풀에 같은 내용의 문자열이 있을 경우 그 문자열의 주소값을 반환한다.
String s= new String("abc");
String s2 = new String("abc");
boolean b = (s==s2);
boolean b2 = s.equals(s2);
boolean b3 = (s.intern()==s2.intern());
b = false
b2 = true
b3 = true
int lastIndexOf(int ch)
지정된 문자 또는 문자코드를 문자열의 오른쪽 끝에서부터 찾아서 index를 반환한다. 못 찾으면 -1 반환
String s = new String("abc.abc.abc");
int idx1 = s.lastIndexOf('.');
int idx2 = s.indexOf('.');
idx1 = 7
idx2 = 3
int lastIndexOf(String str)
지정된 문자열을 인스턴스의 문자열 끝에서 부터 찾아서 index를 반환한다. 못 찾으면 -1 반환
String s = "java.lang.java";
int idx1 = lastIndexOf("java");
int idx2 = indexOf("java");
idx1 = 10
idx2 = 0
int length()
문자열의 길이를 알려준다.
String s = "Hello";
int len = s.length();
len = 5
String replace(char old, char new)
문자열 중의 문자(old)를 새로운 문자(new)로 바꾼 문자열을 반환한다.
String s = "Hello";
String s1 = s.replace('H', 'C');
String s2 = s.replace('l', 'C');
s1 = "Cello"
s2 = "HeCCo"
String replace(CharSequence old, CharSequence new)
문자열 중의 문자(old)를 새로운 문자(new)로 바꾼 문자열을 반환한다.
String s = "Hellollo";
String s1 = s.replace("ll", "LL");
s1 = "HeLLoLLo"
String replaceAll(String regex, String replacement)
문자열 중에서 지정된 문자열(regex)와 일치하는 것을 새로운 문자열(replacement)로 모두 변경한다.
String ab = "AABBAABB";
String r = ab.replaceAll("BB", "bb");
r = "AAbbAAbb"
String replaceFirst(String regex, String replacement)
문자열 중에서 지정된 문자열(regex)와 일치하는 것 중,첫 번째 것만 새로운 문자열(replacement)로 변경한다.
String ab = "AABBAABB";
String r = ab.replaceFrist("BB", "bb");
r = "AAbbAABB"
String[] split(String regex)
문자열을 지정된 분리자,정규식(str)로 나누어 문자열을 배열에 담아 반환한다.
String animals = "dog,cat,bear";
String[] arr= animals.split(",");
arr[0] = "dog"
arr[1] = "cat"
arr[2] = "bear"
String[] split(String regex, int limit)
문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다. 단, 문자열 전체를 지정된 수(limit)로 자른다.
String animals = "dog,cat,bear";
String[] arr = animals.split(",",2);
arr[0] = "dog"
arr[1] = "cat,bear"
String substring(int begin)
String substring(int begin, int end)
주어진 시작위치(begin)부터 끝 위치(end)범위에 포함된 문자열을 얻는다.이 때, 시작위치의 문자는 문자열에 포함되지만, 끝 위치의 문자는 포함 안된다.( begin <= x < end )
String s = "Java.lang.Object";
String c = str.substring(5);
String p = str.substring(0,4);
c = "lang.Object"
p = "Java"
String toLowerCase()
String인스턴스에 저장되어있는 모든 문자열을 소문자로 변환.
String s = "ABCDEFG";
String s1 = s.toLowerCase();
s1 = "abcdefg"
String toUpperCase()
String인스턴스에 저장되어있는 모든 문자열을 대문자로 변환.
String s = "abcdefg";
String s1 = s.toUpperCase();
s1 = "ABCDEFG"
String trim()
문자열의 왼쪽 끝과 오른쪽 끝의 공백을 없앤다. 문자열 가운데 있는 공백은 제거 되지 않는다.
String s = "   Hello World   ";
String s1 = s.trim();
s1 = "Hello World"
toCharArray()
문자열을 새로운 char 배열로 변환하여 반환
String str = "hello";
char[] chars = str.toCharArray();
chars = {'h', 'e', 'l', 'l', 'o'}
isEmpty()
문자열의 길이가 0이면 true, 아니면 false를 반환
String str = "";
str.isEmpty();

String str2 = "hi";
str2.isEmpty();
true
false
getBytes()
getBytes(String charsetName)
문자열을 바이트 배열로 인코딩하여 반환
String str = "안녕";
byte[] bytes1 = str.getBytes();
byte[] bytes2 = str.getBytes("UTF-8");
bytes1 // 플랫폼 기본 인코딩 사용

bytes2 // UTF-8로 인코딩
String String.valueOf(boolean b)
String String.valueOf(char c)
String String.valueOf(int i)
String String.valueOf(long l)
String String.valueOf(float f)
String String.valueOf(double d)
다양한 타입의 데이터를 문자열로 변환하여 반환
String str1 = String.valueOf(123);
String str2 = String.valueOf(true);
String str3 = String.valueOf(new char[]{'a','b'});
String str4 = String.valueOf(3.14);
String str5 = String.valueOf((Object) null);
// "123"
// "true"
// "ab"
// "3.14"
// "null"
join(CharSequence delimiter, CharSequence... elements)
join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
여러 문자열 사이에 구분자를 넣어서 결합한다.

String[] arr = {"one", "two", "three"};
List<String> list = new ArrayList<>(List.of(arr));

String joinArray = String.join(", ", arr);
String joinIterable = String.join("|", list);
joinArray = "one, two, three"

joinIterable = "one|two|three"