String 클래스의 생성자와 메서드
- String(char[ ] value)
- 주어진 문자열(value)을 갖는 String 인스턴스를 생성 (배열 -> 문자열)
- 문자열 -> 배열은 toCharArray() 사용!
char[] c = {'H', 'e', 'l', 'l', 'o'};
String s = new String(c);
- String(StringBuffer buf)
- StringBuffer는
내용변경 가능한 문자열
- String은
내용변경 불가능한 문자열
- StringBuffer인스턴스가 갖고 있는 문자열과 같은 내용의 String 인스턴스를 생성한다. (StringBuffer -> String으로 바꿀 때 아래와 같은 코드 사용)
StringBuffer sb = new StringBuffer("Hello");
String s = new String(sb);
- char charAt(int index)
- 지정된 위치(index)에 있는 문자를 알려준다. (index는 0부터 시작)
String s = "Hello";
String n = "0123456";
char c = s.charAt(1);
char c2 = n.charAt(1);
- int compareTo(String str)
- 문자열(str)과 사전순서로 비교. 같으면 0, 사전순으로 이전이면 음수, 이후면 양수를 반환
int i = "aaa".compareTo("aaa");
int i2 = "aaa".compareTo("bbb");
int i3 = "bbb".compareTo("aaa");
- String concat(String str)
String s = "Hello";
String s2 = s.concat(" World");
- boolean contains(CharSequence s)
String s = "abcdefg";
boolean b = s.contains("bc");
- boolean endsWith(String suffix)
- 지정된 문자열(suffix)로 끝나는지 검사한다.
String file = "Hello.txt";
boolean b = file.endsWith("txt");
- boolean equals(Object obj)
- 매개변수로 받은 문자열(obj)과 String 인스턴스의 문자열을 비교한다. obj가 String이 아니거나 문자열이 다르면 false 반환
String s = "Hello";
boolean b = s.equals("Hello");
boolean b2 = s.equals("hello");
- boolean equalsIgnoreCase(String str)
- 문자열과 String 인스턴스의 문자열을 대소문자 구분없이 비교한다.
String s = "Hello";
boolean b = s.equalsIgnoreCase("HELLO");
boolean b2 = s.equalsIgnoreCase("heLLo");
- int indexOf(int ch)
- 주어진 문자(ch)가 문자열에 존재하는지 확인하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. (index는 0부터 시작)
String s = "Hello";
int idx1 = s.indexOf('o');
int idx2 = s.indexOf('k');
- int indexOf(int ch, int pos)
- 주어진 문자(ch)가 문자열에 존재하는지 지정된 위치(pos)부터 확인하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. (index는 0부터 시작)
String s = "Hello";
int idx1 = s.indexOf('e', 0);
int idx2 = s.indexOf('e', 2);
- int indexOf(String str)
- 주어진 문자열이 존재하는지 확인하여 위치(index)를 알려준다. 없으면 -1을 반환한다. (index는 0부터 시작)
String s = "ABCDEFG";
int idx = s.indexOf("CD");
- int lastIndexOf(int ch)
- 지정된 문자 또는 문자코드를 문자열의 오른쪽 끝에서부터 찾아서 위치(index)를 알려준다. 못 찾으면 -1을 반환한다.
String s = "java.lang.Object";
int idx1 = s.lastIndexOf('.');
int idx2 = s.indexOf('.');
- int lastIndexOf(String str)
- 지정된 문자열을 인스턴스의 문자열 끝에서부터 찾아서 위치(index)를 알려준다. 못 찾으면 -1을 반환한다.
String s = "java.lang.java";
int idx1 = s.lastIndexOf("java");
int idx2 = s.indexOf("java");
String s = "Hello";
int length = s.length();
- String[ ] split(String regex)
- 문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다.
String animals = "dog,cat,bear";
String[ ] arr = animals.split(",");
- String[ ] split(String regex, int limit)
- 문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다. 단, 문자열 전체를 지정된 수(limit)로 자른다.
String animals = "dog,cat,bear";
String[ ] arr = animals.split(",",2);
- boolean startsWith(String prefix)
- 주어진 문자열(prefix)로 시작하는지 검사한다.
String s = "java.lang.Object";
boolean b = s.startsWith("java");
boolean b2 = s.startsWith("lang");
- String substring(int begin)
- String substring(int begin, int end)
- 주어진 시작위치(begin)부터 끝 위치(end)범위에 포함된 문자열을 얻는다. 이 때, 시작위치의 문자는 범위에 포함되지만 끝 위치의 문자는 포함되지 않는다. (begin <= x < end)
String s = "java.lang.Object";
String c = s.substring(10);
String p = s.substring(5,9);
- String toLowerCase()
- String 인스턴스에 저장되어있는 모든 문자열들을 소문자로 변환하여 반환한다.
String s = "Hello";
String s1 = s.toLowerCase();
- String toUpperCase()
- String 인스턴스에 저장되어있는 모든 문자열들을 대문자로 변환하여 반환한다.
String s = "Hello";
String s1 = s.toUpperCase();
- String trim()
- 문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이 때 문자열 중간에 있는 공백은 제거되지 않는다.
String s = " Hello World ";
String s1 = s.trim();
- 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)
- 지정된 값을 문자열로 변환하여 반환한다. 참조변수의 경우, toString()을 호출한 결과를 반환
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);