본문 바로가기

etc.

[Java] String 클래스와 String 메소드

반응형

java.lang.Object

 java.lang.String

 

String 클래스는 파일의 내용을 읽거나, 네트워크를 통해 받은 데이터는 보통 byte[] 배열이므로, 

이것을 문자열로 변환하기 위해 생성자가 사용되기도 한다

이는 다음과 같다

 

String str = new String(byte[] bytes);
// 배열 전체를 String 객체로 생성
String str = new String(byte[] bytes, String charsetName);
// 지정한 문자셋으로 디코딩

String str = new String(byte[] bytes, int offset, int length);
// 배열의 offset 인덱스 위치부터 length만큼 String 객체로 생성
String str = new String(byte[] bytes, int offset, int length, String charsetName);
// 지정한 문자셋으로 디코딩

 


 

String 메소드

 

문자열의 다양한 메소드 중 사용 빈도수가 높은 메소드들을 정리하면 다음과 같다

 

1) char charAt(int index)

: 특정 위치의 문자를 리턴

 

2-1) boolean equals(Object anObject)

: 두 문자열 비교

 

2-2) int compareTo(String aString)

: 두 문자열 사전순 비교 (좌측값이 작으면 -1, 같으면 0, 크면 1)

  ex) "aa".compareTo("bb") == -1

: compare 함수와는 다른 함수이다   ->   Comparator 인터페이스를 구현할 때 작성하는 메소드

 

3) int indexOf(String str)

: 문자열 내 주어진 문자열의 위치를 리턴

 

4) int length()

: 문자열의 길이 리턴

 

5) String replace(CharSequence target, CharSequence replacement)

: target 부분을 replacement 로 대치한 문자열 리턴

  ex) str = "abcde"   ->   str.replace("bc", "cd");   ->   "acbde"

 

6) String substring(int beginIndex) / substring(int beginIndex, int endIndex)

: beginIndex ~ 끝 / beginIndex ~ endIndex 의 잘라낸 새로운 문자열 리턴

 

7) String toLowerCase() / toUpperCase()

: 알파벳 소/대문자로 변환한 새로운 문자열 리턴

 

8) String trim()

: 앞뒤 공백을 제거한 새로운 문자열 리턴

 

9) String valueOf(int i) / valueOf(double d) / ...

: 기본 타입값을 문자열로 리턴

  ex) 10.5 -> "10.5"

 

10) byte[] getBytes() / getBytes(Charset charset)

 : (주어진 문자셋으로 인코딩한) byte[] 로 리턴

반응형