JAVA
String 클래스의 메서드
D_Helloper
2023. 6. 2. 22:56
String의 메서드 10가지
리턴 타입 | 메소드 이름(매개 변수) | 설명 |
char | charAt(int index) | 특정 위치의 문자를 리턴합니다. |
boolean | equals(Object anObject) | 두 문자열을 비교합니다. |
byte[] | getBytes() | byte[]로 리턴합니다. |
byte[] | getBytes(Charset charset) | 주어진 문자셋으로 인코딩한 byte[]로 리턴합니다. |
int | indexOf(String str) | 문자열 내에서 주어진 문자열의 위치를 리턴합니다. |
int | length() | 총 문자의 수를 리턴합니다. |
String | replace(CharSequence target, CharSequence replacement) |
target 부분을 replacement로 대치한 새로운 문자열을 리턴합니다. |
String | substring(int beginIndex) | beginIndex 위치에서 끝까지 잘라낸 새로운 문자열을 리턴합니다. |
String | substring(int beginIndex, int endIndex) | beginIndex 위치에서 endIndex 전까지 잘라낸 새로운 문자열을 리턴합니다. |
String | toLowerCase() | 알파벳 소문자로 변환한 새로운 문자열을 리턴합니다. |
String | toUpperCase() | 알파벳 대문자로 변환한 새로운 문자열을 리턴합니다. |
String | trim() | 앞뒤 공백을 제거한 새로운 문자열을 리턴합니다. |
String | valueOf(int i) valueOf(double d) |
기본 타입 값을 문자열로 리턴합니다. |
문자 추출(chatAt())
- 매개변수로 주어진 인덱스의 문자 리턴
- 인덱스는 0에서부터 문자열 길이 -1 까지의 번호
String str = "Hello Developer";
char charidx = str.charAt(3);
// 결과
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o D e v e l o p e r
// 3 : l
문자열 비교(equals())
- 기본 타입의 변수값을 비교할 때는 == 을 사용하여 주소 값을 비교하지만, 문자열을 비교할 때는 재정의 된 equals()를 사용
String str = "DH";
String str2 = "DH";
String str3 = new String("DH");
str == str2 //true
str == str3 //false
str.equals(str2) // true
str.equals(str3) // true
바이트 배열로 변환(getBytes())
- 네트워크로 문자열을 전송하거나 문자열을 암호화할 때 바이트를 사용하는 경우가 있음
- 시스템의 기본 문자셋으로 바이트 배열을 리턴.
byte[] bytes = str.getBytes();
byte[] bytes = str.getBytes(Charset charset);
- 특정 문자셋으로 인코딩 된 바이트 배열이 필요할 경우 아래와 같이 사용할 수 있음
byte[] bytes1 = str.getBytes("EUC-KR");
byte[] bytes2 = str.getBytes("UTF-8");
문자열 찾기(indexOf())
- indexOf()는 매개값으로 전달된 문자열이 시작되는 인덱스 리턴, 만약 해당 문자열이 없으면 -1 리턴
String str = "Hello Developer";
int index = str.indexOf("Developer");
// 결과
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o D e v e l o p e r
// Developer가 시작하는 6 리턴
문자열 길이(length())
- length()는 문자열의 길이를 리턴
String str = "Hello Developer";
int length = str.length();
// 결과
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o D e v e l o p e r
// 문자열의 길이 14가 length 변수에 저장
문자열 대치(replace())
- 첫 번째 매개값인 문자열을 찾아 두 번째 매개값인 문자열로 대치한 새로운 문자열을 생성하고 리턴
String str = "Hello Developer";
String str2 = str.replace("Hello", "Hi");
// 결과
// str2에 Hi Developer가 저장
- String은 변경 불가능한 특성을 갖기 때문에 수정본이 아닌 새로운 문자열을 생성하여 리턴
문자열 자르기(substring())
- 주어진 인덱스에서 문자열 추출
- substring(int beginIndex, int endIndex)는 시작과 끝 사이의 문자열 추출
- substring(int beginIndex) 는 주어진 인덱스부터 끝까지 추출
String str = "Hello Developer";
String first = str.substring(0,4);
String second = str.substring(6);
// 결과
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
// H e l l o D e v e l o p e r
// first에는 0부터 4까지인 Hello가 저장
// second에는 6부터 마지막 14번까지인 Developer가 저장
알파벳 대소문자 변경(toLowerCase(), toUpperCase())
- toLowerCase()는 모두 소문자로 바뀐 문자열을 생성한 후에 리턴
- toUpperCase()는 모두 대문자로 바뀐 문자열을 생성한 후에 리턴
String str = "Hello Developer";
String lower = str.toLowerCase();
String upper = str.toUpperCase();
// 결과
// lower에는 hello developer 가 저장
// upper에는 HELLO DEVELOPER 가 저장
문자열 앞 뒤 공백 잘라내기(trim())
- 앞 뒤 공백을 제거한 새로운 문자열을 생성한 후에 리턴
- 중간의 공백은 제거하지 않음
String str = " Hello Developer ";
String strTrim = str.trim();
// 결과
// strTrim에 앞 뒤 공백이 잘린 Hello Developer 저장
문자열 변환(valueOf())
- 기본 타입의 값을 문자열로 변환
static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(int i)
static String valueOf(long l)
static String valueOf(double d)
static String valueOf(float f)