ksouth9

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

Java

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

ksouth9 2022. 3. 28. 22:11

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


메서드 설명 예제 결과
String(String s) 주어진 문자열(s)을 갖는 String인스턴스를 생성한다. String s = new String("Hello"); s = "Hello"
String(char[] value) 주어진 문자열(value)을 갖는 String인스턴스를 생성한다. char[] c = {'H','e','l','l','o'};
String s = new String(c);
s = "Hello"
String(StringBuffer buf) StringBuffer인스턴스가 갖고 있는 문자열과 같은 내용의 String인스턴스를 생성한다. StringBuffer sb = new StrinBuffer("Hello");
String s = new String(sb);
s = "Hello"
char charAt(int index) 지정된 위치(index)에 있는 문자를 알려준다.
(index는 0부터 시작)
String s = "Hello";
String n = "0123456";
char c = s.charAt(1);
char c2 = n.charAt(1);
c = 'e'
c2 = '1'
int compareTo(String str) 문자열(str)과 사전순서로 비교한다. 같으면 0을, 사전순으로 이전이면 음수를, 이후면 양수를 반환한다. int i = "aaa".compareTo("aaa");
int i2 = "aaa".compareTo("bbb");
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 = "HelloWorld"
boolean contains(CharSequence s) 지정된 문자열(s)이 포함되었는지 검사한다. String s = "abcdefg";
boolean b = s.contains("bc");
b = true
boolean equals(Object obj) 매개변수로 받은 문자열(obj)과 String 인스턴스의 문자열을 비교한다. obj가 String이 아니거나 문자열이 다르면 false를 반환. String s = "Hello.txt";
boolean b = s.equals("Hello");
boolean b2  = s.equals("hello");
b = true
b2 = false
boolean equalsIgnoreCase(String str) 문자열과 String인스턴스의 문자열을 대소문자 구분없이 비교한다. String s = "Hello";
boolean b = s.equalsIgnoreCase("HELLO");
boolean b2 = s.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('k');
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);
idx1 = 1
idx2 = -1
int indexOf(String str) 주어진 문자열이 존재하는지 확인하여 그 위치(index)를 알려준다. 없으면 -1을 반환한다. String s = "ABCDEFG";
int idx = s.indexOf("CD");
idx = 2
String intern() 문자열을 상수풀(constant pool)에 등록한다. 이미 상수풀에 같은내용의 문자열이 있을 경우 그 문자열의 주소값을 반환한다. String s = new String("abc");
Stirng 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 = "java.lang.Object";
int idx1 = s.lastIndexOf('.');
int idx2 = s.indexOf('.');
idx1 = 9
idx = 4
int lastIndexOf(String str) 지정된 문자열을 인스턴의 문자열 끝에서부터 찾아서 위치(index)를 알려준다못찾으면 -1을 반환한다. String s = "java.lang.java";
int idx1 = s.lastIndexOf("java");
int idx2 = s.indexOf("java");
idx1 = 10
idx2 = 0
int length() 문자열의 길이를 알려준다. String s = "Hello";
int length = s.length();
length = 5
String replace(char old, char nw) 문자열 중의 문자(old)를 새로운 문자(nw)로 바꾼 문자열을 반환한다. String s = "Hello";
String s1 = s.replace('H','C');
s1 = "Cello"
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.replaceFirst("BB","bb");
r = "AAbbAABB"
String [] split(String regex) 문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다. String animals = "dog,cat,bear";
String [] arr = animals.split(",");
arr[0] = "dog"
arr[1] = "cat"
arr[2] = "bear"
String [] split(String retex, int limit) 문자열을 지정된 분리자(regex)로 나누어 문자열배열에 담아 반환한다. 단, 문자열 전체를 지정된 수(limit)로 자른다. String animals = "dog,cat,bear";
String [] arr = animals.split(",",2);
arr[0] = "dog"
arr[1] = "cat,bear"
boolean startsWith(String prefix) 주어진 문자열(prefix)로 시작하는지 검사한다. String s = "java.lang.Object";
boolean b = s.startsWith("java");
boolean b2 = s.startsWith("lang");
b = true
b2 = false
String substring(int begin)
String substring(int begin, int end)
주어진 시작위치(begin)부터 끝 위치(end)범위에 포함된 문자열을 얻는다. 이 때, 시작위치의 문자는 범위에 포함되지만, 끝 위치의 문자는 포함되지 않는다.(begin<end) String s = "java.lang.Object";
String c = s.substring(10);
String p = s.substring(5,9);
c = "Object"
p = "lang"
String toLowerCase() String 인스턴스에 저장되어있는 모든 문자열을 소문자로 변환하여 반환한다. String s = "Hello";
Sring s1 = s.toLowerCase();
s1 = "hello"
String toString() String 인스턴스에 저장되어 있는 문자열을 반환한다. String s = "Hello";
String s1 = s.toString()
s1 = "Hello"
String toUpperCase() String인스턴스에 저장되어있는 모든 문자열을 대문자로 변환하여 반환한다. String s = "Hello";
String s1  = s.toUpperCase();
s1 = "HELLO"
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)
지정된 값을 문자열로 변환하여 반환한다. 참조변수의 경우, toStirng()을 호출한 결과를 반환한다. 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 = "Tue Mar 29 20:25:38 KST 2022"

join(), StringJoiner

join()메서드는 여러 문자열 사이에 구분자를 넣어서 결합한다.

String anmals = "dog,cat,bear";
String str = String.join("-",arr);	// 배열의 문자열을 '-'로 구분해서 결합
System.out.println(str);		// dog-cat-bear

java.util.StringJoiner클래스

StringJoiner클래스도 여러 문자열 사이에 구분자를 넣어서 결합한다.

StringJoiner sj = new StringJoiner("," , "[" , "]");
String [] strArr = {"aaa", "bbb", "ccc"};
for(String s : strArr)
	sj.add(s.toUpperCase());
System.out.println(sj.toString());	// [AAA,BBB,CCC]

기본형 값을 String으로 변환

int i = 100;
String str1 = i + "";			// 100을 "100"으로 변환하는 방법 1
String str2 = String.valueOf(i);	// 100을 "100으로 변환하는 방법 2

※참조변수에 String을 더하면, 참조변수가 가리키는 인스턴스의 toString()을 호출하여 String을 얻은 다음 결합한다.

 

String을 기본형 값으로 변환

int i = Integer.parseInt("100");	// "100"을 100으로 변환하는 방법 1
int i2 = Integer.valueOf("100");	// "100"을 100으로 변환하는 방법 2

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

기본형 → 문자열 문자열 → 기본형
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)
boolean Boolean.parseBoolean(String s)
byte Byte.parseByte(String s)
short Short.parseShort(String s)
int Integer.parseInt(String s)
long Long.parseLong(String s)
float Float.parseFloat(String s)
double Double.parseDouble(String s)

 

'Java' 카테고리의 다른 글

StringBuffer클래스의 생성자와 메서드  (0) 2022.03.30
java.lang 패키지(4) - StringBuffer클래스  (0) 2022.03.29
java.lang 패키지(3) - String클래스  (0) 2022.03.28
java.lang 패키지(2)  (0) 2022.03.27
java.lang 패키지(1)  (0) 2022.03.20