|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
java.lang.Object | +--java.lang.StringBuffer
캐릭터 라인 버퍼는 가변의 캐릭터 라인을 구현합니다. 캐릭터 라인 버퍼는 String
와 닮아 있습니다만, 변경할 수 있는 점이 다릅니다. 캐릭터 라인 버퍼에는 항상 캐릭터 라인이 저장되고 있습니다만, 캐릭터 라인의 길이와 내용은 특정의 메소드의 호출에 의해 변경할 수 있습니다.
캐릭터 라인 버퍼는 복수의 thread에 의해 안전하게 사용할 수가 있습니다. 메소드는 필요에 따라서 동기화 되어 특정의 인스턴스에서의 모든 오퍼레이션이, 관련이 있는 개개의 thread에 의해 행해지는 메소드의 호출의 순서와 일치하는 연속한 순서로 발생하도록(듯이) 동작합니다.
캐릭터 라인 버퍼는 바이너리 캐릭터 라인의 연결 연산자 +
를 구현하기 위해서 컴파일러로 사용됩니다. 예를 들어, 다음의 코드
x = "a" + 4 + "c"
(은)는 이하의 동등한 코드로서 컴파일 됩니다.
새로운 캐릭터 라인 버퍼 (초기 상태에서는 하늘)를 작성해, 각 연산자의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 차례로 추가하고 나서, 캐릭터 라인 버퍼의 내용을 캐릭터 라인으로 변환합니다. 이것에 의해, 작성되는 일시적인 캐릭터 라인의 전체량을 줄일 수가 있습니다.x = new StringBuffer(). append("a"). append(4). append("c") . toString()
StringBuffer
의 기본적인 오퍼레이션에는 append
메소드 및 insert
메소드가 있어, 이러한 메소드는 어떤 종류의 데이터도 받을 수가 있게 overload 되고 있습니다. 메소드는 각각 주어진 데이터를 효율적으로 캐릭터 라인으로 변환해, 캐릭터 라인중의 캐릭터를 캐릭터 라인 버퍼에 추가 또는 삽입합니다. append
메소드는 항상, 버퍼의 말미에게 줄 수 있었던 캐릭터를 추가해,insert
메소드는 지정된 위치에 캐릭터를 추가합니다.
예를 들어,z
를, 현재 "start
" 를 포함한 캐릭터 라인 버퍼 오브젝트라고 보는 경우,z.append("le")
는 캐릭터 라인 버퍼의 내용이 "startle
" 가 되도록(듯이) 변경하는데 대해,z.insert(4, "le")
라고 하는 메소드 호출은 캐릭터 라인 버퍼의 내용이 "starlet
" 가 되도록(듯이) 작용합니다.
일반적으로, sb 가 StringBuffer
의 인스턴스를 참조하고 있는 경우,sb.append(x)
는 sb.insert(sb.length(), x)
와 같은 결과가 됩니다.
각 캐릭터 라인 버퍼에는 용량이 있습니다. 캐릭터 라인 버퍼에 포함되는 캐릭터 라인의 길이가 용량을 초과하지 않는 한, 새로운 내부 버퍼 배열을 할당할 필요는 없습니다. 내부 버퍼가 오버플로우 하는 경우, 자동적으로 용량이 증가합니다.
ByteArrayOutputStream
,
String
,
직렬화 된 형식 생성자의 개요 | |
StringBuffer ()
캐릭터를 가지지 않고 초기 용량이 16 캐릭터인 캐릭터 라인 버퍼를 구축합니다. |
|
StringBuffer (int length)
캐릭터를 가지지 않고 인수 length 에 의해 지정된 초기 용량인 캐릭터 라인 버퍼를 구축합니다. |
|
StringBuffer (String str)
캐릭터 라인 버퍼를 구축해, 캐릭터 라인 인수에 동일한 캐릭터 라인을 나타내도록(듯이) 합니다. |
메소드의 개요 | |
StringBuffer |
append (boolean b)
boolean 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (char c)
char 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (char[] str)
char 배열 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (char[] str,
int offset,
int len)
char 배열 인수의 부분 배열의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (double d)
double 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (float f)
float 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (int i)
int 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (long l)
long 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (Object obj)
인수 Object 의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
|
StringBuffer |
append (String str)
이 캐릭터 라인 버퍼에 캐릭터 라인을 추가합니다. |
StringBuffer |
append (StringBuffer sb)
지정된 StringBuffer 를 이 StringBuffer 에 추가합니다. |
int |
capacity ()
캐릭터 라인 버퍼의 현재의 용량을 돌려줍니다. |
char |
charAt (int index)
index 인수에 의해 나타나는 캐릭터 라인 버퍼에 의해 현재 나타내지고 있는 지정된 캐릭터 라인이 돌려주어집니다. |
StringBuffer |
delete (int start,
int end)
이 StringBuffer 의 부분 캐릭터 라인내의 캐릭터를 모두 삭제합니다. |
StringBuffer |
deleteCharAt (int index)
이 StringBuffer 내의 지정된 위치에 있는 캐릭터를 삭제합니다. |
void |
ensureCapacity (int minimumCapacity)
버퍼의 용량이, 지정된 최소치 이상이 되는 것을 프로텍션합니다. |
void |
getChars (int srcBegin,
int srcEnd,
char[] dst,
int dstBegin)
캐릭터 라인은 이 캐릭터 라인 버퍼로부터 카피처 캐릭터 배열 dst 에 카피됩니다. |
int |
indexOf (String str)
이 캐릭터 라인내에서, 지정된 부분 캐릭터 라인이 최초로 출현하는 위치의 인덱스를 돌려줍니다. |
int |
indexOf (String str,
int fromIndex)
지정된 인덱스 이후로, 지정된 부분 캐릭터 라인이 이 캐릭터 라인내에서 최초로 출현하는 위치의 인덱스를 돌려줍니다. |
StringBuffer |
insert (int offset,
boolean b)
boolean 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int offset,
char c)
char 인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int offset,
char[] str)
char 배열 인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int index,
char[] str,
int offset,
int len)
str 배열 인수의 부분 배열의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 삽입합니다. |
StringBuffer |
insert (int offset,
double d)
double 인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int offset,
float f)
float 인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int offset,
int i)
2 번째의 int 인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int offset,
long l)
long 인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int offset,
Object obj)
Object 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 삽입합니다.
|
StringBuffer |
insert (int offset,
String str)
캐릭터 라인 버퍼에 캐릭터 라인을 삽입합니다. |
int |
lastIndexOf (String str)
이 캐릭터 라인내에서, 지정된 부분 캐릭터 라인이 제일 오른쪽으로 출현하는 위치의 인덱스를 돌려줍니다. |
int |
lastIndexOf (String str,
int fromIndex)
이 캐릭터 라인내에서, 지정된 부분 캐릭터 라인이 마지막에 출현하는 위치의 인덱스를 돌려줍니다. |
int |
length ()
이 캐릭터 라인 버퍼의 길이 (캐릭터수)를 돌려줍니다. |
StringBuffer |
replace (int start,
int end,
String str)
이 StringBuffer 의 부분 캐릭터 라인의 캐릭터를, 지정된 String 의 캐릭터에 치환합니다. |
StringBuffer |
reverse ()
이 캐릭터 라인 버퍼에 저장되고 있는 캐릭터 라인이, 역의 줄 순서의 캐릭터 라인에 치환됩니다. |
void |
setCharAt (int index,
char ch)
이 캐릭터 라인 버퍼의 지정된 인덱스 위치의 캐릭터가 ch 가 되도록(듯이) 설정합니다. |
void |
setLength (int newLength)
이 캐릭터 라인 버퍼의 길이를 설정합니다. |
CharSequence |
subSequence (int start,
int end)
이 순차 순서의 서브 순차 순서인 신규 캐릭터 순차 순서를 돌려줍니다. |
String |
substring (int start)
StringBuffer 에 현재 저장되고 있는 캐릭터 라인의 일부가 들어간 새로운 String 를 돌려줍니다. |
String |
substring (int start,
int end)
StringBuffer 에 현재 저장되고 있는 캐릭터 라인의 일부가 들어간 새로운 String 를 돌려줍니다. |
String |
toString ()
캐릭터 라인 버퍼를 그 데이터를 표현하는 캐릭터 라인으로 변환합니다. |
클래스 java.lang. Object 에서 상속받은 메소드 |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
생성자의 상세 |
public StringBuffer()
public StringBuffer(int length)
length
에 의해 지정된 초기 용량인 캐릭터 라인 버퍼를 구축합니다.
length
- 초기 용량
NegativeArraySizeException
- 인수 length
가 0
미만의 경우public StringBuffer(String str)
16
으로 캐릭터 라인 인수의 길이를 더한 것이 됩니다.
str
- 버퍼의 초기 내용메소드의 상세 |
public int length()
CharSequence
내의 length
public int capacity()
public void ensureCapacity(int minimumCapacity)
minimumCapacity
인수
2
를 더한 값
minimumCapacity
인수가 정의 값이 아닌 경우, 이 메소드는 아무것도 실시하지 않고 복귀합니다.
minimumCapacity
- 프로텍션하고 싶은 최소 용량public void setLength(int newLength)
newLength
보다 작은 부가 아닌 모든 k 에서는 새로운 캐릭터 라인내의 인덱스 k 의 위치에 있는 캐릭터는 k 가 이전의 캐릭터 라인의 길이보다 작은 경우는 이전의 캐릭터 라인내의 인덱스 k 의 위치에 있는 캐릭터에 동일해집니다. 그렇지 않은 경우는 null 캐릭터 ''
가 됩니다.
즉,newLength
인수가 현재의 캐릭터 라인 버퍼의 길이보다 작은 경우, 캐릭터 라인 버퍼는 newLength
인수에 의해 지정된 캐릭터수가 딱 들어가도록(듯이) 절약할 수 있습니다.
newLength
인수가 현재의 길이와 동일한가 큰 경우는 길이가 newLength
인수가 되도록(듯이), 캐릭터 라인 버퍼에 필요한 만큼의 null 캐릭터 ('\u0000'
)가 추가됩니다.
newLength
인수는 0
이상이 아니면 안됩니다.
newLength
- 버퍼의 새로운 길이
IndexOutOfBoundsException
- newLength
인수가 부의 값의 경우length()
public char charAt(int index)
index
인수에 의해 나타나는 캐릭터 라인 버퍼에 의해 현재 나타내지고 있는 지정된 캐릭터 라인이 돌려주어집니다. 캐릭터 라인 버퍼의 최초의 캐릭터의 인덱스가 0
, 다음의 캐릭터의 인덱스가 1
이라고 하는 순으로 됩니다.
index 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이보다 작지 않으면 안됩니다.
CharSequence
내의 charAt
index
- 목적의 캐릭터의 인덱스
IndexOutOfBoundsException
- index
가 부의 값의 경우, 혹은 length()
에 동일한가 이것보다 큰 경우length()
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
dst
에 카피됩니다. 카피되는 최초의 캐릭터의 인덱스가 srcBegin
로, 카피되는 마지막 캐릭터의 인덱스가 srcEnd-1
가 됩니다. 카피되는 캐릭터의 총수는 srcEnd-srcBegin
가 됩니다. 캐릭터는 인덱스 dstBegin
로부터 시작되어, 다음에 나타내는 인덱스로 끝나는 dst
의 부분 배열에 카피됩니다.
dstbegin + (srcEnd-srcBegin) - 1
srcBegin
- 캐릭터 라인 버퍼의 이 오프셋(offset)로 카피를 개시하는srcEnd
- 캐릭터 라인 버퍼의 이 오프셋(offset)로 카피를 정지하는dst
- 데이터의 카피처의 배열dstBegin
- dst
에의 오프셋(offset)
NullPointerException
- dst
가 null
의 경우
IndexOutOfBoundsException
- 다음의 어떤 것인가의 경우 srcBegin
가 부의 값이다 dstBegin
가 부의 값이다 srcBegin
인수가 srcEnd
인수보다 크다 this.length()
보다 srcEnd
가 크다 dstBegin+srcEnd-srcBegin
가 dst.length
보다 크다public void setCharAt(int index, char ch)
ch
가 되도록(듯이) 설정합니다. 캐릭터 라인 버퍼는 index
의 위치의 캐릭터가 ch
인 것을 제외해, 이전의 캐릭터 라인과 동일한 캐릭터 라인을 표현하도록(듯이) 변경됩니다.
index 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이 미만이 아니면 안됩니다.
index
- 변경 대상의 캐릭터의 인덱스ch
- 새로운 캐릭터
IndexOutOfBoundsException
- index
가 부의 값의 경우, 혹은 length()
에 동일한가 이것보다 큰 경우length()
public StringBuffer append(Object obj)
Object
의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
인수는 String.valueOf
메소드에 의해 변환되는 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼에 추가됩니다.
obj
- Object
StringBuffer
오브젝트에의 참조String.valueOf(java.lang.Object)
,
append(java.lang.String)
public StringBuffer append(String str)
String
인수의 캐릭터가, 차례로 이 캐릭터 라인 버퍼의 내용에 추가됩니다. 그 결과, 인수의 길이의 분만큼 이 캐릭터 라인 버퍼의 길이가 증가합니다. str
가 null
의 경우,"null"
의 4 캐릭터가 이 캐릭터 라인 버퍼에 추가됩니다.
append
메소드의 실행의 직전에 캐릭터 라인 버퍼에 저장되고 있던 캐릭터 라인의 길이가 n 로,k 가 n 보다 작은 경우, 새로운 캐릭터 라인내의 인덱스 k 에 있는 캐릭터는 이전의 캐릭터 라인내의 인덱스 k 캐릭터에 동일해집니다. 그렇지 않은 경우는 인수 str
내의 인덱스 k-n 에 있는 캐릭터에 동일해집니다.
str
- 캐릭터 라인
StringBuffer
에의 참조public StringBuffer append(StringBuffer sb)
StringBuffer 인수의 캐릭터가, 차례로 이 StringBuffer 의 내용에 추가됩니다. 그 결과, 인수의 길이의 분만큼 이 StringBuffer 의 길이가 증가합니다. sb 가 null
의 경우,"null" 의 4 캐릭터가 이 StringBuffer 에 추가됩니다.
append
메소드의 실행의 직전에 StringBuffer 에 저장되고 있던 캐릭터 라인의 길이가 n 의 경우, 새로운 캐릭터 라인내의 인덱스 k 에 있는 캐릭터는 이전의 캐릭터 라인내의 인덱스 k 에 있는 캐릭터에 동일해집니다. 그렇지 않은 경우는 인수 sb
내의 인덱스 k-n 에 있는 캐릭터에 동일해집니다.
ensureCapacity 메소드는 이 StringBuffer 에 대해, 신규 버퍼의 길이를 인수로서 최초로 불려 갑니다 (이것에 의해, 이 StringBuffer 의 기억역에 추가 캐릭터가 적절히 포함됩니다).
sb
- 추가하는 StringBuffer
public StringBuffer append(char[] str)
char
배열 인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
배열 인수의 캐릭터는 차례로 이 캐릭터 라인 버퍼의 내용에 추가됩니다. 캐릭터 라인 버퍼의 길이는 인수의 길이의 분만큼 증가합니다.
최종적으로는 String.valueOf(char[])
메소드에 의해 인수가 캐릭터 라인에 변환되고 나서, 그 캐릭터 라인의 캐릭터가 이 StringBuffer
오브젝트에 추가
되었을 경우와 완전히 같은 결과가 됩니다.
str
- 추가되는 캐릭터
StringBuffer
오브젝트에의 참조public StringBuffer append(char[] str, int offset, int len)
char
배열 인수의 부분 배열의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
캐릭터 배열 str
의 캐릭터는 인덱스 offset
의 위치를 시점으로서 이 캐릭터 라인 버퍼에 차례로 추가됩니다. 이 캐릭터 라인 버퍼의 길이는 len
의 값의 분만큼 증가합니다.
최종적으로는 String.valueOf(char[], int, int)
메소드에 의해 인수가 캐릭터 라인에 변환되고 나서, 그 캐릭터 라인의 캐릭터가 이 StringBuffer
오브젝트에 추가
되었을 경우와 완전히 같은 결과가 됩니다.
str
- 추가되는 캐릭터offset
- 추가되는 최초의 캐릭터의 인덱스len
- 추가하는 캐릭터수
StringBuffer
오브젝트에의 참조public StringBuffer append(boolean b)
boolean
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
인수는 String.valueOf
메소드에 의해 변환되는 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼에 추가됩니다.
b
- boolean
StringBuffer
에의 참조String.valueOf(boolean)
,
append(java.lang.String)
public StringBuffer append(char c)
char
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
인수는 이 캐릭터 라인 버퍼의 내용에 추가됩니다. 이 캐릭터 라인 버퍼의 길이는 1
만 증가합니다.
최종적으로는 String.valueOf(char)
메소드에 의해 인수가 캐릭터 라인에 변환되고 나서, 그 캐릭터 라인의 캐릭터가 이 StringBuffer
오브젝트에 추가
되었을 경우와 완전히 같은 결과가 됩니다.
c
- char
StringBuffer
오브젝트에의 참조public StringBuffer append(int i)
int
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
인수는 String.valueOf
메소드에 의해 변환되는 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼에 추가됩니다.
i
- int
StringBuffer
오브젝트에의 참조String.valueOf(int)
,
append(java.lang.String)
public StringBuffer append(long l)
long
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
인수는 String.valueOf
메소드에 의해 변환되는 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼에 추가됩니다.
l
- long
StringBuffer
오브젝트에의 참조String.valueOf(long)
,
append(java.lang.String)
public StringBuffer append(float f)
float
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
인수는 String.valueOf
메소드에 의해 변환되는 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼에 추가됩니다.
f
- float
StringBuffer
오브젝트에의 참조String.valueOf(float)
,
append(java.lang.String)
public StringBuffer append(double d)
double
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 추가합니다.
인수는 String.valueOf
메소드에 의해 변환되는 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼에 추가됩니다.
d
- double
StringBuffer
오브젝트에의 참조String.valueOf(double)
,
append(java.lang.String)
public StringBuffer delete(int start, int end)
StringBuffer
의 부분 캐릭터 라인내의 캐릭터를 모두 삭제합니다. 부분 캐릭터 라인은 지정된 start
로부터 시작되어, 인덱스 end - 1
의 위치에 있는 캐릭터까지 혹은 이것에 해당하는 캐릭터가 없는 경우는 StringBuffer
의 끝까지가 됩니다. start
와 end
가 동일한 경우, 아무것도 변경은 없습니다.
start
- 개시 인덱스 (이 값을 포함한다)end
- 종료 인덱스 (이 값을 포함하지 않는다)
StringIndexOutOfBoundsException
- start
가 부의 값의 경우,length()
보다 큰 경우, 혹은 end
보다 큰 경우public StringBuffer deleteCharAt(int index)
StringBuffer
내의 지정된 위치에 있는 캐릭터를 삭제합니다. StringBuffer
의 길이는 1 캐릭터분 짧아집니다.
index
- 삭제되는 캐릭터의 인덱스
StringIndexOutOfBoundsException
- index
가 부의 값의 경우, 혹은 length()
에 동일한가 이것보다 큰 경우public StringBuffer replace(int start, int end, String str)
StringBuffer
의 부분 캐릭터 라인의 캐릭터를, 지정된 String
의 캐릭터에 치환합니다. 부분 캐릭터 라인은 지정된 start
로부터 시작되어, 인덱스 end - 1
의 위치에 있는 캐릭터까지 혹은 이것에 해당하는 캐릭터가 없는 경우는 StringBuffer
의 끝까지가 됩니다. 우선, 부분 캐릭터 라인의 캐릭터가 삭제되고 나서, 지정된 String
가 start
에 삽입됩니다. StringBuffer
는 지정된 String 가 들어가도록(듯이), 필요에 따라서 길어집니다.
start
- 개시 인덱스 (이 값을 포함한다)end
- 종료 인덱스 (이 값을 포함하지 않는다)str
- 이전의 내용을 치환하는 String
StringIndexOutOfBoundsException
- start
가 부의 값의 경우,length()
보다 큰 경우, 혹은 end
보다 큰 경우public String substring(int start)
StringBuffer
에 현재 저장되고 있는 캐릭터 라인의 일부가 들어간 새로운 String
를 돌려줍니다. 부분 캐릭터 라인은 지정된 인덱스로부터 시작되어,StringBuffer
의 끝까지가 됩니다.
start
- 개시 인덱스 (이 값을 포함한다)
StringIndexOutOfBoundsException
- start
가 0 보다 작은 경우, 혹은 이 StringBuffer
의 길이보다 큰 경우public CharSequence subSequence(int start, int end)
다음의 폼의 메소드 호출은
다음의 호출과 정확하게 같은 동작이 됩니다.sb.subSequence(begin, end)
이 메소드에 의해,StringBuffer 클래스가sb.substring(begin, end)
CharSequence
인터페이스를 구현 가능하게 됩니다.
CharSequence
내의 subSequence
start
- 개시 인덱스 (이 값을 포함한다)end
- 종료 인덱스 (이 값을 포함하지 않는다)
IndexOutOfBoundsException
- start 또는 end 가 부의 값의 경우,end 가 length() 보다 큰 경우, 혹은 start 가 end
보다 큰 경우public String substring(int start, int end)
StringBuffer
에 현재 저장되고 있는 캐릭터 라인의 일부가 들어간 새로운 String
를 돌려줍니다. 부분 캐릭터 라인은 지정된 start
로부터 시작되어, 인덱스 end - 1
에 있는 캐릭터까지 됩니다.
start
- 개시 인덱스 (이 값을 포함한다)end
- 종료 인덱스 (이 값을 포함하지 않는다)
StringIndexOutOfBoundsException
- start
또는 end
가 부의 값의 경우,length()
보다 큰 경우, 혹은 start
가 end
보다 큰 경우public StringBuffer insert(int index, char[] str, int offset, int len)
str
배열 인수의 부분 배열의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 삽입합니다. 부분 배열은 지정된 offset
로 시작되어,len
로 지정된 캐릭터 몇분의 길이입니다. 부분 배열의 캐릭터는 캐릭터 라인 버퍼의 index
로 나타나는 위치에 삽입됩니다. StringBuffer
의 길이는 len
캐릭터분만큼 증가합니다.
index
- 부분 배열을 삽입하는 위치str
- 캐릭터 배열offset
- 삽입되는 부분 배열의 최초의 캐릭터의 인덱스len
- 삽입되는 부분 배열의 캐릭터수
StringIndexOutOfBoundsException
- index
가 부의 값 또는 length()
보다 큰 경우,offset
나 len
가 부의 값의 경우, 혹은 (offset+len)
이 str.length
보다 큰 경우public StringBuffer insert(int offset, Object obj)
Object
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 삽입합니다.
2 번째의 인수가 String.valueOf
메소드의 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼의 지정된 오프셋(offset)에 삽입됩니다.
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)obj
- Object
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우String.valueOf(java.lang.Object)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, String str)
String
인수의 캐릭터가, 이 캐릭터 라인 버퍼의 지정된 오프셋(offset) 위치에 차례로 삽입됩니다. 그 위치에 있던 캐릭터는 이동되어 인수의 길이의 분만큼 이 캐릭터 라인 버퍼의 길이가 증가합니다. str
가 null
의 경우는 "null"
의 4 캐릭터가 이 캐릭터 라인 버퍼에 삽입됩니다.
새로운 캐릭터 라인의 인덱스 k 의 위치에 있는 캐릭터는 다음의 캐릭터에 동일해집니다.
offset
보다 작은 경우는 이전의 캐릭터 순차 순서의 인덱스 k 의 위치에 있는 캐릭터
offset
보다 작지는 않지만,offset+str.length()
보다 작은 경우, 인수 str
의 인덱스 k-offset
의 위치에 있는 캐릭터
offset+str.length()
이상의 경우는 이전의 캐릭터 순차 순서의 k-str.length()
의 위치에 있는 캐릭터
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)str
- 캐릭터 라인
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우length()
public StringBuffer insert(int offset, char[] str)
char
배열 인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
배열 인수의 캐릭터는 캐릭터 라인 버퍼의 offset
로 나타나는 위치에 삽입됩니다. 이 캐릭터 라인 버퍼의 길이는 인수의 길이의 분만큼 증가합니다.
최종적으로는 String.valueOf(char[])
메소드에 의해 인수가 캐릭터 라인에 변환되고 나서, 그 캐릭터 라인의 캐릭터가 이 StringBuffer
오브젝트의 offset
로 나타나는 위치에 삽입
되었을 경우와 완전히 같은 결과가 됩니다.
offset
- 오프셋(offset)str
- 캐릭터 배열
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우public StringBuffer insert(int offset, boolean b)
boolean
인수의 캐릭터 라인 표현을 이 캐릭터 라인 버퍼에 삽입합니다.
2 번째의 인수가 String.valueOf
메소드의 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼의 지정된 오프셋(offset)에 삽입됩니다.
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)b
- boolean
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우String.valueOf(boolean)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, char c)
char
인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
2 번째의 인수가, 캐릭터 라인 버퍼의 내용의 offset
로 지정되는 위치에 삽입됩니다. 이 캐릭터 라인 버퍼의 길이가 1 캐릭터분 증가합니다.
최종적으로는 String.valueOf(char)
메소드에 의해 인수가 캐릭터 라인에 변환되고 나서, 그 캐릭터 라인의 캐릭터가 이 StringBuffer
오브젝트의 offset
로 지정되는 위치에 삽입
되었을 경우와 완전히 같은 결과가 됩니다.
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)c
- char
StringBuffer
오브젝트에의 참조
IndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우length()
public StringBuffer insert(int offset, int i)
int
인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
2 번째의 인수가 String.valueOf
메소드의 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼의 지정된 오프셋(offset)에 삽입됩니다.
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)i
- int
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우String.valueOf(int)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, long l)
long
인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
2 번째의 인수가 String.valueOf
메소드의 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼의 offset
로 지정된 위치에 삽입됩니다.
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)l
- long
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우String.valueOf(long)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, float f)
float
인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
2 번째의 인수가 String.valueOf
메소드의 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼의 지정된 오프셋(offset)에 삽입됩니다.
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)f
- float
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우String.valueOf(float)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, double d)
double
인수의 캐릭터 라인 표현을 캐릭터 라인 버퍼에 삽입합니다.
2 번째의 인수가 String.valueOf
메소드의 경우와 같이 캐릭터 라인에 변환되어 그 캐릭터 라인의 캐릭터가 이 캐릭터 라인 버퍼의 지정된 오프셋(offset)에 삽입됩니다.
offset 인수는 0
이상으로, 이 캐릭터 라인 버퍼의 길이에 동일한가 이것보다 작지 않으면 안됩니다.
offset
- 오프셋(offset)d
- double
StringBuffer
오브젝트에의 참조
StringIndexOutOfBoundsException
- 오프셋(offset)가 무효인 경우String.valueOf(double)
,
insert(int, java.lang.String)
,
length()
public int indexOf(String str)
위의 식이this.toString(). startsWith(str, k)
true
가 되는 것 같은 최소의 k 입니다.
str
- 임의의 캐릭터 라인
-1
NullPointerException
- str
가 null
의 경우public int indexOf(String str, int fromIndex)
이러한 k 의 값이 존재하지 않는 경우,-1 가 돌려주어집니다.k >= Math.min(fromIndex, str.length()) && this.toString(). startsWith(str, k)
str
- 검색 대상의 부분 캐릭터 라인fromIndex
- 검색 개시 위치의 인덱스
NullPointerException
- str
가 null
의 경우public int lastIndexOf(String str)
this.length()
라고 보여집니다. 돌려주어지는 인덱스는
위의 식이this.toString(). startsWith(str, k)
true
가 되는 것 같은 최대의 k 입니다.
str
- 검색 대상의 부분 캐릭터 라인
-1
NullPointerException
- str
가 null
의 경우public int lastIndexOf(String str, int fromIndex)
이러한 k 의 값이 존재하지 않는 경우,-1 가 돌려주어집니다.k <= Math.min(fromIndex, str.length()) && this.toString(). startsWith(str, k)
str
- 검색 대상의 부분 캐릭터 라인fromIndex
- 검색 개시 위치의 인덱스
NullPointerException
- str
가 null
의 경우public StringBuffer reverse()
reverse
메소드의 실행전에 캐릭터 버퍼에 저장되고 있던 이전의 캐릭터 라인의 길이가 n 의 경우, 새로운 캐릭터 라인내의 인덱스 k 에 있는 캐릭터는 이전의 캐릭터 라인내의 인덱스 n-k-1 의 위치에 있던 캐릭터에 동일해집니다.
StringBuffer
오브젝트에의 참조public String toString()
String
오브젝트를 할당해 현재 이 캐릭터 라인 버퍼가 나타내는 캐릭터 라인을 포함하도록(듯이) 초기화합니다. 마지막으로, 작성된 String
를 돌려줍니다. 이 조작의 후에 캐릭터 라인 버퍼를 변경해도,String
의 내용에는 영향을 주지 않습니다.
구현의 어드바이스: 이 메소드는 캐릭터 라인의 카피를 저장하는 새로운 메모리를 할당하지 않고 , 새로운 String
오브젝트를 생성하도록(듯이) 코딩 할 수가 있습니다. 이 경우, 캐릭터 라인은 캐릭터 라인 버퍼에 의해 사용되는 메모리를 공유합니다. 캐릭터 라인 버퍼의 내용이나 용량을 변경하는 후속의 오퍼레이션은 그 시점에서의 내부 버퍼의 카피를 작성하게 됩니다. 이 방법은 캐릭터 라인 연결 오퍼레이션을 캐릭터 라인 버퍼를 사용해 구현하는 경우에, 할당할 수 있는 메모리량을 감소시키는데 효과적입니다.
CharSequence
내의 toString
Object
내의 toString
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.