Programming/Java

[Java 자바] 11. 기본 API 클래스 ④ String 클래스

erinh 2022. 9. 4. 21:08
반응형

 11-5. String 클래스

11-5-1. String 생성자

// 배열 전체를 String 객체로 생성
byte[] bytes = { 72, 101, 108, 108, 111, 32, 74, 97, 118, 97};
String str = new String(byte[] bytes);
System.out.println(str1); 	// Hello Java

11-5-2. String 메소드

1) 문자 추출 (charAt(int index))

- 매개값으로 주어진 인덱스의 문자를 리턴

String str = "Erin";
char charValue = str.charAt(1);
System.out.println(charValue);	// r

2) 문자열 비교 (equals())

- String의 경우, 동등비교시 참조값의 주소끼리 비교하므로 같은 값이더라도 false로 출력될 수 있음

- String클래스는 Object클래스의 equals()를 오버라이딩하여, 문자열끼리 비교할 수 있도록 정의되어 있음

String strVar1 = new String("Erin");
String strVar2 = new String("Erin");

System.out.println(strVar1 == strVar2)		// false
System.out.println(strVar1.equals(strVar2))	// true

3) 바이트 배열로 변환 (getBytes())

- 네트워크 문자열을 전송하거나, 문자열을 암호화할 때 문자열을 바이트 배열로 변환하기 위해 사용

String str = "Hello";

byte[] bytes1 = str.getBytes();
System.out.println("bytes1.length: " + bytes1.length);	// bytes1.length: 5
String str1 = new String(bytes1);
System.out.println("bytes1->String: " + str1);		// bytes1->String: Hello

4) 문자열 찾기 (indexOf())

- 매개값으로 주어진 문자열이 시작되는 인덱스를 리턴, 주어진 문자가 문자열에 없다면 -1 리턴

- 매개값이 여러개 포함되어 있다면 가장 첫 번째 인덱스를 리턴

String str = "Hello Java";
System.out.println(str.indexOf('l'));	// 2

5) 문자열 길이 (length())

- 문자열의 길이 (문자의 수) 리턴, 공백 포함

String str = "Hello Java";
System.out.println(str.length());	// 10

6) 문자열 대치 (replace())

- 첫 번째 매개값인 문자열을 찾아 두 번째 매개값인 문자열로 대치한 새로운 문자열을 생성하고 리턴

String str = "Hello Java";
str = str.replace("Java", "Erin");
System.out.println(str);	// Hello Erin

7) 문자열 잘라내기 (substring())

- 주어진 인덱스에서 문자열을 추출

// substring(int beginIndex, int endIndex): 시작 인덱스부터 끝 인덱스 전까지 문자열 추출
// substring(int beginIndex): 시작 인덱스를 기준으로 문자열의 끝까지 추출

String str1 = "Hello Erin";
String str2 = str1.substring(0, 6);
System.out.println(str2);	// Hello

8) 알파벳 대소문자 변경 (toLowerCase(), toUpperCase())

- 문자열을 모두 소문자 혹은 모두 대문자로 바꾼 새로운 문자열을 생성한 후 리턴

String str1 = "Hello Erin";
String str2 = str1.toLowerCase();
String str3 = str1.toUpperCase();
		
System.out.println(str2);	// hello erin
System.out.println(str3);	// HELLO ERIN

9) 문자열 앞뒤 공백 잘라내기 (trim())

- 문자열의 앞 뒤 공백을 제거한 새로운 문자열을 생성하고 리턴

String str1 = "     Hello Erin   ";
String str2 = str1.trim();
System.out.println(str2);	// Hello Erin

10) 문자열 변환 (valueOf())

- 기본 타입의 값을 문자열로 변환

String str1 = String.valueOf(10);
String str2 = String.valueOf(10.5);
String str3 = String.valueOf(true);

System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
반응형