innn

기본 API 클래스 - String 클래스 본문

JAVA/자바

기본 API 클래스 - String 클래스

33삼 2022. 9. 27. 17:18

String 클래스

어떤 프로그램이건 문자열은 데이터로서 아주 많이 사용된다. 그렇기 때문에 문자열을 생성하는 방법과 추출, 비교, 찾기, 분리, 변환 등을 제공하는 메소드를 잘 익혀두어야 한다. 

 

String 생성자

자바의 문자열은 java.lang 패키지의 String 클래스의 인스턴스로 관리된다. 소스상에서 문자열 리터럴은 String 객체로 자동 생성되지만, String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성할 수도 있다. 어떤 생성자를 이용해서 String 객체를 생성할지는 제공되는 매개값의 타입에 달려있다. 

 

다음은 사용 빈도수가 높은 생성자들이다. 파일의 내용을 읽거나, 네트워크를 통해 받은 데이터는 보통 byte[] 배열이므로 이것을 문자열로 변환하기 위해 사용된다. 

 

 

아래는 바이트 배열을 문자열로 변환하는 예제이다. 

 

바이트 배열을 문자열로 변환

 

예제는 키보드로부터 읽은 바이트 배열을 문자열로 변환하는 방법을 보여준다. System.in.read() 메소드는 키보드에서 입력한 내용을 매개값으로 주어진 바이트 배열에 저장하고 읽은 바이트 수를 리턴한다. 예를 들어 Hello를 입력하고 ENTER키를 눌렀다면 Hello + 캐리지리턴(\r) + 라인피드(\n) 의 코드값이 바이트 배열에 저장되고 총 7개의 바이트를 읽었기 때문에 7을 리턴한다.

 

 

다음에 나올 예제는 10 라인에서 String(byte[] byte, int offset, int length) 형태로 바이트 배열을 문자열로 변환하였는데, length 매개값으로 배열 길이에서 2를 빼준 이유는 캐리지리턴(\r)+라인피드(\n) 부분은 문자열로 만들 필요가 없기 때문이다.  

 

바이트 배열을 문자열로 변환