-
String 클래스의 생성자와 메서드공부/Java 2024. 3. 27. 18:36
String 클래스의 생성자와 메서드
메서드 / 설명 예제 결과 String(String s) String s = new String("Hello"); s = "Hello" 주어진 문자열 (s)를 갖는 String 인스턴스를 생성한다. String(char[] value) char[] c = {'H', "e', 'l', 'l', 'o'};
String s = new String(c)s = "Hello" 주어진 문자열(value)을 갖는 String 인스턴스를 생성한다. String(StringBuffer buf) StringBuffer sb = new StringBuffer("Hello");
String s = new string(sb);s = "Hello" StringBuffer 인스턴스가 갖고 있는 문자열과 같은 내용의 String 인스턴스를 생성한다.
※ 스트링 버퍼는 내용 변경 저장이 가능하다.char charAt(int index) String s = "Hello";
String n = "0123456";
char c = s.charAt(1);
char c2 = n.charAt(1);c = 'e'
c2 = '1'지정된 위치(index)에 있는 문자를 알려준다.
※ index는 0부터 시작int compareTo(String str) int i = "aaa".compareTo("aaa");
int i2 = "aaa".compareTo("bbb");
int i3 = "bbb".compareTo("aaa");i = 0
i2 = -1
i3 = 1문자열(str)과 사전순서로 비교한다. 같으면 0, 사전순으로 이전이면 음수를, 이후면 양수를 반환한다. String concat(String str) String s = "Hello";
String s2 = s.concat(" World"):s2 = "Hello World" 문자열(str)을 뒤에 덧붙인다. boolean contains(CharSequence s) String s ="abcdefg";
boolean b = s.contains("bc");b = true 지정된 문자열(s)이 포함되었는지 검사한다. boolean endsWith(String suffix) String file = "Hello.txt";
boolean b = file.endsWith("txt");b = true 지정된 문자열(suffix0로 끝나는지 검사한다. boolean equals(Object obj) String s = "Hello";
boolean b = s.equals("Hello");
boolean b2 = s.equals("hello");b = true
b2 = false매개변수로 받은 문자열(obj)과 String 인스턴스의 문자열을 비교한다. obj가 String이 아니거나 문자열이 다르면 false를 반환한다. boolean equalsIgnoreCase(String str) String s = "Hello";
boolean b = s.equalsIgnoreCase("HELLO");
boolean b2 = s.equalsIgnoreCase("heLLo");b = true
b2 = true문자열의 String 인스턴스의 문자열을 대소문자 구분없이 비교한다. int indexOf(int ch) String s = "Hello";
int idx1 = s.indexOf('o');
int idx2 = s.indexOf('k');idx1 = 4
idx2 = -1주어진 문자(ch)가 문자열에 존재하는지 확인하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다.
※ index는 0부터 시작한다는 것을 기억하기int indexOf(int ch, int pos) String s = "Hello";
int idx1 = s.indexOf('e', 0);
int idx2 = s.indexOf('e', 2);idx1 = 1
idx2 = -1주어진 문자(ch)가 문자열에 존재하는지 지정된 위치(pos)부터 확인(검색 시작 위치)하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. int indexOf(String str) String s = "ABCDEFG";
int idx = s.indexOf("CD");idx = 2; 주어진 문자열이 존재하는지 확인하여 그 위치(index)를 알려준다. 없으면 -1을 반환한다. int lastIndexOf(int ch) String s = "java.lang.Object";
int idx1 = s.lastIndexOf('.');
int idx2 = s.indexOf('.');idx1 = 9
idx2 = 4지정된 문자 또는 문자코드를 문자열의 오른쪽 끝에서부터 찾아서 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. int lastIndexOf(String str) String s = 'java.lang.java";
int idx1 = s.lastIndexOf("java");
int idx2 = s.indexOf("java");idx1 = 10
idx2 = 0지정된 문자열을 인스턴스의 문자열 끝에서부터 찾아서 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. int length() String s = "Hello";
int length = s.length();length = 5 문자열의 길이를 알려준다. String replace(char old, char nw) String s = "Hello";
String s1 = s.replace('H', 'C');s1 = "Cello" 문자열 중의 문자(old)를 새로운 문자(nw)로 바꾼 문자열로 반환한다. String replace(CharSequence old, CharSequence nw) String s = "Hellollo";
String s1 = s.replace("ll", "LL");s1 = "HeLLoLLo" 문자열 중의 문자열(old)을 새로운 문자열(nw)로 모두 바꾼 문자열을 반환한다. String replaceAll(String regex, String replacement) String ab = "AABBAABB";
String r = ab.replaceAll("BB", "bb");r = "AAbbAAbb" 문자열 중 지정된 문자열(regex)과 일치하는 것을 새로운 문자열(replacement)로 모두 변경한다. String replaceFirst(String regex, String replacement) String ab = "AABBAABB";
String r = ab.replaceFirst("BB", "bb");r = "AAbbAABB" 문자열 중 지정된 문자열(regex)과 일치하는 것 중, 첫 번째 것만 새로운 문자열(replacement)로 변경한다. String[] split(String regex) String animals = "dog,cat,bear";
String[] arr = animals.split(",");arr[0] = "dog"
arr[1] = "cat"
arr[2] = "bear"문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다. String [] split(String regex, int limit) String animals = "dog,cat,bear";
String[] arr = animals.split(",", 2);arr[0] = "dog"
arr[1] = "cat,bear"문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다. 단 문자열 전체를 지정된 수(limit)로 자른다. boolean startWith(String prefix) String s = "java.lang.Object";
boolean b = s.startWith("java");
boolean b2 = s.startWith("lang");b = true
b2 = false주어진 문자열(prefix)로 시작하는지 검사한다. String substring(int begin)
String substring(int begin, int end)String s = "java.lang.Object";
String c = s.substring(10);
String p = s.substring(5, 9);c = "Object"
p = 'lang"주어진 시작위치(begin)부터 끝 위치(end) 범위에 포함된 문자열을 얻는다. 시작 위치의 문자는 범위에 포함되지만, 끝 위치의 문자는 포함되지 않는다. String toLowerCase() String s = "Hello";
String s1 = s.toLowerCase();s1 = "hello" String 인스턴스에 저장되어 있는 모든 문자열을 소문자로 변환하여 반환한다. String toUpperCase() String s = "Hello";
String s1 = s.toUpperCase();s1 = "HELLO" String 인스턴스에 저장되어 있는 모든 문자열을 대문자로 변환하여 반환한다. String toString() String s = "Hello";
String s1 = s.toString();s1 = "Hello" String 인스턴스에 저장되어 있는 문자열을 반환한다. String trim() String s = " Hello World ";
String s1 = s.trim();s1 = "Hello World" 문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이 때 문자열 중간에 있는 공백은 제거되지 않는다. static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(int i)
static String valueOf(long l)
static String valueOf(float f)
static String valueOf(double d)
static String valueOf(Object o)String b = String.valueOf(true);
String c = String.valueOf('a');
String i = String.valueOf(100);
String l = String.valueOf(100L);
String f = String.valueOf(10f);
String d = String.valueOf(10.0);
java.util.Date dd = new java.util.Date();
String date = String.valueOf(dd);b = "true"
c = "a"
i = "100"
l = "100"
f = "10.0"
d = "10.0"
date = "Wed Mar 27 18:32:13 KST 2024"지정된 값을 문자열로 변환하여 반환한다. 참조변수의 경우, toString()을 호출한 결과를 반환한다. - CharSequence는 DK 1.4부터 추가된 인터페이스로 String, StringBuffer 등의 클래스가 구현하였다.
- contains(CharSequence s), replace(CharSequence old, CharSequence nw)는 JDK1.5부터 추가되었다.
- java.util.Date dd = new java.util.Date();에서 생성된 Date 인스턴스는 현재 시간을 갖는다.
- 지정된 값을 바꿀 때, 변수+""로 쉽게 바꿀 수 있지만, String.valueOf()를 사용하면 처리 속도가 더 빠르다.
'공부 > Java' 카테고리의 다른 글
StringBuffer 클래스 (0) 2024.03.29 StringJoiner, 문자열과 기본형 변환 (0) 2024.03.28 String 클래스, 문자열 비교, 빈 문자열 (0) 2024.03.26 hashCode(), toString() (0) 2024.03.25 Object 클래스와 equals() (0) 2024.03.24