Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

String 클래스의 생성자와 메서드 본문

Java/JAVA2

String 클래스의 생성자와 메서드

빌드이너프 2023. 6. 26. 14:56

String 클래스의 생성자와 메서드

String(String s): 주로 사용하지 않고, String(char[] value)를 더 자주 사용한다

String(char[] value): char[]를 String으로 바꿀 때 사용한다(역으로 String를 char로 바꿀 땐 toCharArray() 메서드를 사용한다)

String(StringBuffer buf): StringBuffer을 String로 바꿀 때 사용(역으로 String을 StringBuffer로 바꿀 땐 StringBuffer 사용)

char charAt(int index): 지정된 위치에 있는 문자 1개를 반환한다

int compareTo(String str): 같으면0, 왼쪽이 작으면 -1, 오른쪽이 작으면 1

메서드/설명 예제 결과
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 endWith(String suffix): 반대: boolean startsWith(String suffix)

boolean contain(CharSequence s)
String s = "abcdefg";
boolean b = s.contains("bc");
b = true
지정된 문자열(s)이 포함되었는지
검사한다
boolean endWith(String suffix)
String file = "Hello.txt";
boolean b = file.endsWith("txt");
b = true
지정된 문자열(suffix)로
끝나는지 검사한다
boolean equals(Object obj)
String s = "Hello";
boolean b = s.equals("Hello");
boolean b2 = s.equals("hello");
b = true
b2 = false
매개변수로 받은 문자열(obj)과
tring 인스턴스의 문자열을 비교한다
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을 반환한다
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
문자열의 길이를 알려준다

 

regex: 정규식(Regular Expression)

boolean startWith(String prefix): 반대: boolean endWith(String suffix)

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) 범위에 포함된 문자열을 얻는다
이 때, 시작위치의 문자는 범위에 포함되지만 끝 위치의 문자는 포함되지 않는다
(begin <= x < end)

 

String trim(): 기본의 문자열(    Hello World    )이 변하는 것이 아닌, 새로운 문자열(Hello World)이 만들어진다

static String valueOf(): 기본형 값을 문자열(String)으로 바꿔준다

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 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 jan 11
14:52:30 KST 2023"
지정된 값을 문자열로 변환하여
반환한다
참조변수의 경우, toString()을
호출한 결과를 반환한다