2011년 6월 16일 목요일

String / StringBuffer 클래스

String 클래스는 문자열 처리를 위한 클래스로서 다른 클래스와는 구별되는 성질을 가지고 있는데 그것은 생성된 객체의 내용이 변경되지 않은 immutability(불변성)이다.
StringBuffer 클래스는 객체의 내용이 변경될 수 있다.
객체의 선언 및 생성
String 클래스 : 기본 데이터 형처럼 선언하고 대입하는 방법과 일반적인 객체 생성 방법인 new 연산자를 사용하는 new 연산자에 의한 방식이 있다. 전자의 방법으로 생성된 문자열 중 같은 문자열을 가진 객체가 있을 때는 새로운 객체를 생성하지 않고 기존에 있던 객체를 참조하여 사용. 후자의 경우는 new 연산자에 의한 객체 생성은 객체를 생성할 때 항상 새로운 주소에 객체를 생성
StringBuffer 클래스 : new 연산자에 의한 객체 생성 한 가지 방식 밖에 없다.
생성된 객체의 비교 : 객체를 비교하기 위해서는 “==”연산자를 이용하거나 equals() 메소드를 사용해야 한다.
“==” 연산자는 객체의 주소를 비교하는 연산자로서 비교되는 객체가 같은 주소를 가지고 있다면 true를 리턴하고 그렇지 않다면 false를 리턴 한다.
equals() 메소드는 java.lang.Object 클래스에 정의되어 있는 메소드로서 “==”연산자와 마찬가지로 객체의 주소를 비교. 하지만 String 클래스나 Wrapper(랩퍼) 클래스(Integer, Long)에서는 이 메소드를 오버라이드하여 객체의 값을 비교할 수 있도록 하고 있음
+연산자의 사용 : String 클래스에서는 사용 가능 하나 StringBuffer클래스에서는 사용할 수 없다.
concat() / append() 메소드
String클래스의 경우 concat()메소드를 사용하는데 인자로 들어온 문자열을 원래 문자열 뒤에 붙여 새로운 문자열을 리턴 한다. 즉 기존에 있던 문자열은 그대로이고 연결된 문자열로 새로운 객체를 만들게 되는 것. 그래서 원래 문자열과 두 개의 문자열을 연결한 문자열은 서로 다른 주소를 가짐
StringBuffer 클래스의 경우 appaend() 메소드를 사용하는 인자로 들어온 문자열을 원래 문자열 뒤에 연결. 새로운 객체는 생성되지 않고 값이 변경 됨
replace() 메소드 : 두 문자열 클래스 모두 사용하고 있는 특정 문자열을 변경하는 기능을 하는 메소드
String 클래스 : ex) public String replace (char oldchar, char new newchar)
StringBuffer 클래스 : ex) public StringBuffer replace (int start, int end, String str)
원래 문자열 start부터 end-1까지의 문자를 문자열 str로 대체한다.
String 클래스에 자주 사용되는 메소드
메소드명
매개변수
기 능
concat()
String str
인자로 들어온 문자열 str를 원래 문자열 뒤에 연결한 새로운 문자열을 리턴
equals()
Object anObject
인자로 들어온 anObject와 원래 문자열이 일치하면 true, 일치하지 않으면 false
length()
-
문자열의 길이를 int형으로 리턴
replace()
char oldchar
char newchar
원래 문자열의 문자 oldchar를 문자 newchar로 변경한 새로운 문자열을 리턴
substring()
int beginIndex
int endIndex
원래 문자열에서 beginIndex부터 endIndex-1까지의 문자들로 구성된 새로운 문자열을 리턴
toLowerCase()
-
원래 문자열을 소문자로 바꾼 새로운 문자열 리턴
toUpperCase()
-
원래 문자열을 대문자로 바꾼 새로운 문자열을 리턴
trim()
-
원래 문자열의 앞과 뒤의 공백을 제거한 새로운 문자열을 리턴
StringBuffer 클래스에서 자주 사용하는 메소드
메소드명
매개변수
기 능
append()
String str
스트링 버퍼에 문자열을 추가
charAt()
int index
지정된 인덱스의 문자를 반환
replace()
int start, int end,
String str
원래 문자열 start부터 end-1까지의 문자를 문자열 str로 대체
reverse()
-
원래 문자열의 순서를 바꿈
substring()
int start, int end
원래 문자열의 start부터 end-1 까지의문자로 구성된 새로운 문자열을 리턴
toString()
-
StringBuffer 클래스의 데이터를 String 으로 변경

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...