2013년 1월 14일 월요일

[Java] String

String의 불변성
String str1 = "abc";
String str2 = "abc";

같은 참조값을 가진다. 즉 하나의 "abc"를 함께 가리키는 꼴이다.

String 클래스 메소드에 대해 알아보자.
replace("C", "하드웨어"); C를 하드웨어로~
concat("입문"); 기존의 문자열 뒤에 입문을 추가~
length(); 문자열 길이 가져오기(null제외)
charAt(5); 주어진 위치(5)의 문자 하나를 반환
equlas(); 문자열 내용비교
substring(3, 7); 문자열 일부추출(3에서 7전까지)
trim(); 문자열의 앞뒤 공백 제거
tpUpperCase(); 소문자->대문자
toLowerCase(); 대문자->소문자
indexOf(문자열); 문자나 문자열이 기존의 문자열에 몇번째 존재하는지
endsWith(문자열);
startsWith(문자열); 해당 문자열로 시작하고 끝나는지 확인
getByte(); 문자열을 바이트 배열로 만들어 리턴한다. 파일을 만들 때 배열로 전달
toCharArray(); 문자열을 문자배열로 만들어 리턴한다.


StringBuffer와 StringBuilder의 가변성
버퍼를 가지고 있어 문자열을 조작할 수 있다. 여러 스레드가 동시에 하나의 버퍼를 조작하려 할때 데이터의 손상이가거나 교착상태에 빠질 수가 있다. StringBuffer는 그런 위험을 방지하는 장치가 존재하나 StringBuilder는 그런 장치가 없다. 대신에 스레드가 없는 일반 프로그램에서는 더 나은 성능을 발휘한다.

append(); 문자열 덧붙이기
insert( , ); Offset 위치에 문자열 삽입
delete( , ); 지정한 위치부터 지정한 위치까지 문자열 삭제
deleteCharAt(); 지정한 위치 문자삭제
capacity(); 버퍼크기 리턴
ensureCapacity(); 버퍼 늘리기
trimToSize(); 버퍼 줄이기


StringTokenizer 클래스
공백, 탭, 줄바꿈 문자, 캐리지 리턴 문자, 새페이지 문자를 기준으로 문자열을 나눈다.
hasmoreTokens();로 토큰이 존재하는지 확인후
NextToken();으로 토큰을 추출한다.

댓글 없음:

댓글 쓰기