[Java/자바] String 클래스의 생성자와 메서드

 

아래의 표는 String클래스 내에 정의된 생성자의 메서드의 목록입니다.

자바의 정석3을 참고해 자주사용되는 것들만을 표로 적었습니다.

 

메서드/설명 예 제 결 과
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을, 사전순으로 이전이면 음수를, 이후면 양수를 반환한다.
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= "abcdefg";
String b= str1.concat(" World");
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"

 

기본형과 문자열간의 변환 방법.

2022.10.12 - [JAVA] - (Java/자바) 숫자를 문자열로 변환 - toString(), valueOf()

 

(Java/자바) 숫자를 문자열로 변환 - toString(), valueOf()

이번 포스팅에서는 숫자를 문자열로 변환하는 방법에 대해 알아보려합니다. 문자열을 숫자로 변환하는 방법은 아래 포스팅을 참고하시면 됩니다. (Java/자바) 문자열을 정수로 변환 - parseInt(), val

hstory0208.tistory.com

2022.10.12 - [JAVA] - (Java/자바) 문자열을 정수로 변환 - parseInt(), valueOf()

 

(Java/자바) 문자열을 정수로 변환 - parseInt(), valueOf()

문자열(String)을 정수로 변환하는 작업은 자주 있는 일입니다. 반대로 정수를 문자열로 변환하는 것도 마찬가지겠죠 이번 포스팅에선 문자열을 정수로 변환해주는 메서드 parseInt() 와 valueOf() 에

hstory0208.tistory.com