|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.lang.String
public final class String
String
클래스는 캐릭터 라인을 나타냅니다. Java 프로그램내의 「abc
」등의 리터럴 캐릭터 라인은 모두, 이 클래스의 인스턴스로서 실행됩니다.
캐릭터 라인은 정수입니다. 이 값을 작성한 뒤로 변경은 할 수 없습니다. 캐릭터 라인 버퍼는 가변 캐릭터 라인을 지원합니다. 캐릭터 라인 객체는 불변이기 (위해)때문에, 공용할 수가 있습니다. 다음에 예를 나타냅니다.
String str = "abc";
이것은, 다음과 같습니다.
char data[] = {'a', 'b', 'c'}; String str = new String(data);
캐릭터 라인이 어떻게 사용될까에 임해서, 한층 더 예를 나타냅니다.
System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc". substring(2,3); String d = cde.substring(1, 2);
String
클래스에는, 캐릭터 라인의 각각의 문자를 테스트하는 메소드나, 캐릭터 라인의 비교, 캐릭터 라인의 검색, 부분 캐릭터 라인의 추출, 및 문자를 모두 대문자 또는 소문자로 변환한 캐릭터 라인의 카피 작성등을 실시하는 메소드가 있습니다. 케이스 매핑은,Character
클래스에서 지정된 Unicode 스펙 버젼에 근거하고 있습니다.
Java 언어는, 캐릭터 라인 연결 연산자 ( + ), 및 그 외의 객체로부터 캐릭터 라인에의 변환에 대한 특별한 지원를 제공합니다. 캐릭터 라인 연결은 StringBuilder
(또는 StringBuffer
) 클래스와 그 append
메소드를 사용해 구현되고 있습니다. 캐릭터 라인 변환은 Object
에 의해 정의된 toString
메소드를 사용해 구현되어 Java 의 클래스 모두에 의해 상속됩니다. 캐릭터 라인 연결 및 캐릭터 라인 변환에 대한 자세한 것은, Gosling, Joy, 및 Steele 에 의한 「Java 언어 스펙」을 참조해 주세요.
별도 지정된 사항이 없는 경우,null 인수를 생성자 , 또는 이 클래스의 메소드에 건네주면(자) NullPointerException
가 throw 됩니다.
String
는, 「보조 문자」를 「surrogate 페어」로 표현하는 UTF-16 형식의 캐릭터 라인을 나타냅니다 (자세한 것은,Character
클래스의「Unicode 문자 표현」의 섹션을 참조). char
코드 단위를 참조하는 인덱스치입니다. 따라서, 보조 문자는 String
의 2 개의 위치를 사용합니다.
String
클래스는, Unicode 코드 단위 (char
치)를 취급하는 메소드 외에, Unicode 코드 포인트 (문자)를 취급하는 메소드를 제공합니다.
Object.toString()
,
StringBuffer
,
StringBuilder
,
Charset
,
직렬화 된 형식 필드의 개요 | |
---|---|
static Comparator <String > |
CASE_INSENSITIVE_ORDER
compareToIgnoreCase 의 경우와 같이 String 객체를 순서 붙이는 Comparator 입니다. |
생성자 의 개요 | |
---|---|
String ()
새롭게 생성된 String 객체를 초기화해, 빈 상태(empty)의 문자 순서를 나타내도록(듯이) 합니다. |
|
String (byte[] bytes)
플랫폼의 디폴트의 캐릭터 세트를 사용해, 지정된 바이트 배열을 복호화 하는 것에 의해, 새로운 String 를 구축합니다. |
|
String (byte[] bytes,
Charset charset)
지정된 캐릭터 세트 를 사용해, 지정된 바이트 배열을 복호화 하는 것에 의해, 새로운 String 를 구축합니다. |
|
String (byte[] ascii,
int hibyte)
추천 되고 있지 않습니다. 이 메소드에서는, 바이트로부터 문자에의 변환이 올바르게 행해지지 않습니다. JDK 1. 1 이후에서는, 바이트로부터 문자에의 변환에는, 인수로서 Charset , 캐릭터 세트의 이름을 취하는 String 생성자 , 또는 플랫폼의 디폴트 캐릭터 세트를 사용하는 String 생성자 의 사용이 추천 됩니다. |
|
String (byte[] bytes,
int offset,
int length)
플랫폼의 디폴트의 캐릭터 세트를 사용해, 지정된 바이트 부분 배열을 복호화 하는 것에 의해, 새로운 String 를 구축합니다. |
|
String (byte[] bytes,
int offset,
int length,
Charset charset)
지정된 charset 를 사용해, 지정된 바이트 부분 배열을 복호화 하는 것에 의해, 새로운 String 를 구축합니다. |
|
String (byte[] ascii,
int hibyte,
int offset,
int count)
추천 되고 있지 않습니다. 이 메소드에서는, 바이트로부터 문자에의 변환이 올바르게 행해지지 않습니다. JDK 1. 1 이후에서는, 바이트로부터 문자에의 변환에는, 인수로서 Charset , 캐릭터 세트의 이름을 취하는 String 생성자 , 또는 플랫폼의 디폴트 캐릭터 세트를 사용하는 String 생성자 의 사용이 추천 됩니다. |
|
String (byte[] bytes,
int offset,
int length,
String charsetName)
지정된 캐릭터 세트를 사용해, 지정된 바이트 부분 배열을 복호화 하는 것에 의해, 새로운 String 를 구축합니다. |
|
String (byte[] bytes,
String charsetName)
지정된 캐릭터 세트 를 사용해, 지정된 바이트 배열을 복호화 하는 것에 의해, 새로운 String 를 구축합니다. |
|
String (char[] value)
새로운 String 를 할당해, 이것이 문자 배열 인수에 현재 포함되어 있는 문자 순서를 나타내도록(듯이) 합니다. |
|
String (char[] value,
int offset,
int count)
문자 배열 인수의 부분 배열로부터 되는 문자를 포함한 새로운 String 를 할당합니다. |
|
String (int[] codePoints,
int offset,
int count)
Unicode 코드 포인트 배열 인수의 부분 배열로부터 되는 문자를 포함한 새로운 String 를 할당합니다. |
|
String (String original)
새롭게 생성된 String 객체를 초기화해, 인수와 같은 문자 순서를 나타내도록(듯이) 합니다. |
|
String (StringBuffer buffer)
캐릭터 라인 버퍼 인수에 현재 포함되어 있는 캐릭터 라인을 가지는 새로운 캐릭터 라인을 구축합니다. |
|
String (StringBuilder builder)
캐릭터 라인 빌더 인수에 현재 포함되어 있는 캐릭터 라인을 가지는 새로운 캐릭터 라인을 할당합니다. |
메소드의 개요 | |
---|---|
char |
charAt (int index)
지정된 인덱스 위치에 있는 char 치를 돌려줍니다. |
int |
codePointAt (int index)
지정된 인덱스 위치의 문자 (Unicode 코드 포인트)를 돌려줍니다. |
int |
codePointBefore (int index)
지정된 인덱스의 전의 문자 (Unicode 코드 포인트)를 돌려줍니다. |
int |
codePointCount (int beginIndex,
int endIndex)
이 String 의 지정된 텍스트 범위의 Unicode 코드 포인트의 수를 돌려줍니다. |
int |
compareTo (String anotherString)
2 개의 캐릭터 라인을 사전적으로 비교합니다. |
int |
compareToIgnoreCase (String str)
대문자와 소문자의 구별없이, 2 개의 캐릭터 라인을 사전적으로 비교합니다. |
String |
concat (String str)
지정된 캐릭터 라인을 이 캐릭터 라인의 마지막에 연결합니다. |
boolean |
contains (CharSequence s)
이 캐릭터 라인이 지정된 char 값의 순서를 포함한 경우에 한정해 true 를 돌려줍니다. |
boolean |
contentEquals (CharSequence cs)
이 캐릭터 라인과 지정된 CharSequence 를 비교합니다. |
boolean |
contentEquals (StringBuffer sb)
이 캐릭터 라인과 지정된 StringBuffer 를 비교합니다. |
static String |
copyValueOf (char[] data)
지정된 배열내의 문자 순서를 나타내는 String 를 돌려줍니다. |
static String |
copyValueOf (char[] data,
int offset,
int count)
지정된 배열내의 문자 순서를 나타내는 String 를 돌려줍니다. |
boolean |
endsWith (String suffix)
이 캐릭터 라인이, 지정된 접미사(suffix)로 끝날지 어떨지를 판정합니다. |
boolean |
equals (Object anObject)
이 캐릭터 라인과 지정된 객체를 비교합니다. |
boolean |
equalsIgnoreCase (String anotherString)
이 String 와 다른 String 를 비교합니다. |
static String |
format (Locale l,
String format,
Object ... args)
지정된 로케일, 서식 캐릭터 라인, 및 인수를 사용해, 포맷 된 캐릭터 라인을 돌려줍니다. |
static String |
format (String format,
Object ... args)
지정된 서식의 캐릭터 라인과 인수를 사용해, 서식 첨부 캐릭터 라인을 돌려줍니다. |
byte[] |
getBytes ()
플랫폼의 디폴트의 캐릭터 세트를 사용해 이 String 를 바이트 순서에 encode 해, 결과를 신규 바이트 배열에 포함합니다. |
byte[] |
getBytes (Charset charset)
지정된 캐릭터 세트 를 사용해 이 String 를 바이트 순서에 encode 해, 결과를 신규 바이트 배열에 포함합니다. |
void |
getBytes (int srcBegin,
int srcEnd,
byte[] dst,
int dstBegin)
추천 되고 있지 않습니다. 이 메소드에서는, 문자로부터 바이트에의 변환이 올바르게 행해지지 않습니다. JDK 1. 1 에서는, 문자로부터 바이트에의 변환에는, 플랫폼의 디폴트 캐릭터 세트를 사용하는 getBytes() 메소드의 사용이 추천 됩니다. |
byte[] |
getBytes (String charsetName)
지정된 캐릭터 세트를 사용해 이 String 를 바이트 순서에 encode 해, 결과를 신규 바이트 배열에 포함합니다. |
void |
getChars (int srcBegin,
int srcEnd,
char[] dst,
int dstBegin)
이 캐릭터 라인으로부터, 카피처의 문자 배열에 문자를 카피합니다. |
int |
hashCode ()
이 캐릭터 라인의 해시 코드를 돌려줍니다. |
int |
indexOf (int ch)
이 캐릭터 라인내에서, 지정된 문자가 최초로 출현하는 위치의 인덱스를 돌려줍니다. |
int |
indexOf (int ch,
int fromIndex)
이 캐릭터 라인내에서, 지정된 인덱스로부터 검색을 개시해, 지정된 문자가 최초로 출현하는 위치의 인덱스를 돌려줍니다. |
int |
indexOf (String str)
이 캐릭터 라인내에서, 지정된 부분 캐릭터 라인이 최초로 출현하는 위치의 인덱스를 돌려줍니다. |
int |
indexOf (String str,
int fromIndex)
지정된 인덱스 이후로, 지정된 부분 캐릭터 라인이 이 캐릭터 라인내에서 최초로 출현하는 위치의 인덱스를 돌려줍니다. |
String |
intern ()
캐릭터 라인 객체의 정규의 표현을 돌려줍니다. |
boolean |
isEmpty ()
length() 가 0 인 경우에 한해,true 를 돌려줍니다. |
int |
lastIndexOf (int ch)
이 캐릭터 라인내에서, 지정된 문자가 마지막에 출현하는 위치의 인덱스를 돌려줍니다. |
int |
lastIndexOf (int ch,
int fromIndex)
이 캐릭터 라인내에서, 지정된 문자가 마지막에 출현하는 위치의 인덱스를 돌려줍니다 (검색은 지정된 인덱스로부터 개시되어 선두 방향에 행해진다). |
int |
lastIndexOf (String str)
이 캐릭터 라인내에서, 지정된 부분 캐릭터 라인이 제일 오른쪽으로 출현하는 위치의 인덱스를 돌려줍니다. |
int |
lastIndexOf (String str,
int fromIndex)
이 캐릭터 라인내에서, 지정된 부분 캐릭터 라인이 마지막에 출현하는 위치의 인덱스를 돌려줍니다 (검색은 지정된 인덱스로부터 개시되어 선두 방향에 행해진다). |
int |
length ()
이 캐릭터 라인의 길이를 돌려줍니다. |
boolean |
matches (String regex)
이 캐릭터 라인이, 지정된정규 표현과 일치할지 어떨지를 판정합니다. |
int |
offsetByCodePoints (int index,
int codePointOffset)
codePointOffset 코드 포인트에 의해 지정된 index 로부터 오프셋(offset)가 설정된, 이 String 내의 인덱스를 돌려줍니다. |
boolean |
regionMatches (boolean ignoreCase,
int toffset,
String other,
int ooffset,
int len)
2 개의 캐릭터 라인 영역이 동일한지 어떤지를 판정합니다. |
boolean |
regionMatches (int toffset,
String other,
int ooffset,
int len)
2 개의 캐릭터 라인 영역이 동일한지 어떤지를 판정합니다. |
String |
replace (char oldChar,
char newChar)
이 캐릭터 라인내에 있는 모든 oldChar 를 newChar 에 치환한 결과 생성되는, 새로운 캐릭터 라인을 돌려줍니다. |
String |
replace (CharSequence target,
CharSequence replacement)
리터럴 타겟 순서에 일치하는 이 캐릭터 라인의 부분 캐릭터 라인을, 지정된 리터럴 치환 순서에 옮겨놓습니다. |
String |
replaceAll (String regex,
String replacement)
지정된정규 표현에 일치하는, 이 캐릭터 라인의 각 부분 캐릭터 라인에 대해, 지정된 치환을 실행합니다. |
String |
replaceFirst (String regex,
String replacement)
지정된정규 표현에 일치하는, 이 캐릭터 라인의 최초의 부분 캐릭터 라인에 대해, 지정된 치환을 실행합니다. |
String [] |
split (String regex)
이 캐릭터 라인을, 지정된정규 표현에 일치하는 위치에서 분할합니다. |
String [] |
split (String regex,
int limit)
이 캐릭터 라인을, 지정된정규 표현에 일치하는 위치에서 분할합니다. |
boolean |
startsWith (String prefix)
이 캐릭터 라인이, 지정된 접두사로 시작될지 어떨지를 판정합니다. |
boolean |
startsWith (String prefix,
int toffset)
이 캐릭터 라인의 지정된 인덱스 이후의 부분 캐릭터 라인이, 지정된 접두사로 시작될지 어떨지를 판정합니다. |
CharSequence |
subSequence (int beginIndex,
int endIndex)
이 순서의 서브 순서인 신규 문자 순서를 돌려줍니다. |
String |
substring (int beginIndex)
이 캐릭터 라인의 부분 캐릭터 라인인 새로운 캐릭터 라인을 돌려줍니다. |
String |
substring (int beginIndex,
int endIndex)
이 캐릭터 라인의 부분 캐릭터 라인인 새로운 캐릭터 라인을 돌려줍니다. |
char[] |
toCharArray ()
이 캐릭터 라인을 새로운 문자 배열로 변환합니다. |
String |
toLowerCase ()
디폴트 로케일의 규칙을 사용해, 이 String 내의 모든 문자를 소문자로 변환합니다. |
String |
toLowerCase (Locale locale)
지정된 Locale 의 규칙을 사용해, 이 String 내의 모든 캐릭터 라인을 소문자로 변환합니다. |
String |
toString ()
이 객체 (벌써 캐릭터 라인이다) 자신이 돌려주어집니다. |
String |
toUpperCase ()
디폴트 로케일의 규칙을 사용해, 이 String 내의 모든 문자를 대문자로 변환합니다. |
String |
toUpperCase (Locale locale)
지정된 Locale 의 규칙을 사용해, 이 String 내의 모든 캐릭터 라인을 대문자로 변환합니다. |
String |
trim ()
캐릭터 라인의 카피를 돌려줍니다. |
static String |
valueOf (boolean b)
boolean 인수의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (char c)
char 인수의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (char[] data)
char 배열 인수의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (char[] data,
int offset,
int count)
char 배열 인수의 특정의 부분 배열의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (double d)
double 인수의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (float f)
float 인수의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (int i)
int 인수의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (long l)
long 인수의 캐릭터 라인 표현을 돌려줍니다. |
static String |
valueOf (Object obj)
Object 인수의 캐릭터 라인 표현을 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
필드의 상세 |
---|
public static final Comparator <String > CASE_INSENSITIVE_ORDER
compareToIgnoreCase
의 경우와 같이 String
객체를 순서 붙이는 Comparator 입니다. 이 Comparator는 직렬화 가능합니다. 이 Comparator 는 로케일을 고려하지 않기 때문에, 일부의 로케일에서는, 올바른 순서에 늘어놓을 수 없는 것이 있습니다. java.text 패키지는, 로케일에 의존하는 늘어놓고 바꾸고를 실시하기 위해서(때문에) 「조합 기능」을 제공하고 있습니다.
Collator.compare(String, String)
생성자 의 상세 |
---|
public String()
String
객체를 초기화해, 빈 상태(empty)의 문자 순서를 나타내도록(듯이) 합니다. String 는 불변이므로, 이 생성자 을 사용할 필요는 없습니다.
public String(String original)
String
객체를 초기화해, 인수와 같은 문자 순서를 나타내도록(듯이) 합니다. 즉, 새롭게 작성된 캐릭터 라인은 인수 캐릭터 라인의 카피가 됩니다. String 는 불변이므로,original
의 명시적인 카피가 필요하지 않은 한, 이 생성자 을 사용할 필요는 없습니다.
original
- String
public String(char[] value)
String
를 할당해, 이것이 문자 배열 인수에 현재 포함되어 있는 문자 순서를 나타내도록(듯이) 합니다. 문자 배열의 내용이 카피됩니다. 카피 후에 그 문자가 변경되어도, 새롭게 작성된 캐릭터 라인에는 영향을 주지 않습니다.
value
- 캐릭터 라인의 초기치public String(char[] value, int offset, int count)
String
를 할당합니다. 인수 offset
는 부분 배열의 선두의 문자의 인덱스이며, 인수 count
는 부분 배열의 길이를 지정합니다. 부분 배열의 내용이 카피됩니다. 부분 배열의 내용이 카피됩니다. 카피 후에 문자 배열이 변경되어도, 새롭게 작성된 캐릭터 라인에는 영향을 주지 않습니다.
value
- 캐릭터 라인의 소스인 배열offset
- 초기 오프셋(offset)count
- 길이
IndexOutOfBoundsException
- offset
및 count
인수 인덱스에 의한 캐릭터 라인이 value
배열의 범위외가 되는 경우public String(int[] codePoints, int offset, int count)
String
를 할당합니다. 인수 offset
는 부분 배열의 선두의 코드 포인트의 인덱스이며, 인수 count
는 부분 배열의 길이를 지정합니다. 부분 배열의 내용이 카피됩니다. 부분 배열의 내용은,char
에 변환됩니다. 카피 후에 int
배열이 변경되어도, 새롭게 작성된 캐릭터 라인에는 영향을 주지 않습니다.
codePoints
- Unicode 코드 포인트의 소스인 배열offset
- 초기 오프셋(offset)count
- 길이
IllegalArgumentException
- codePoints
로 무효인 Unicode 코드 포인트가 발견되었을 경우
IndexOutOfBoundsException
- offset
및 count
인수 인덱스에 의한 캐릭터 라인이 codePoints
배열의 범위외가 되는 경우@Deprecated public String(byte[] ascii, int hibyte, int offset, int count)
Charset
, 캐릭터 세트의 이름을 취하는 String
생성자 , 또는 플랫폼의 디폴트 캐릭터 세트를 사용하는 String
생성자 의 사용이 추천 됩니다.
String
를 할당합니다.
인수 offset
는 부분 배열의 선두의 바이트의 인덱스이며, 인수 count
는 부분 배열의 길이를 지정합니다. 부분 배열의 내용이 카피됩니다.
부분 배열의 각 byte
는 상기 메소드로 지정되는 char
에 변환됩니다.
ascii
- 캐릭터 라인에 변환되는 바이트hibyte
- 16 비트의 각 Unicode 코드 단위의 상위 8 비트offset
- 초기 오프셋(offset)count
- 길이
IndexOutOfBoundsException
- offset
또는 count
인수가 무효인 경우String(byte[], int)
,
String(byte[], int, int, java.lang.String)
,
String(byte[], int, int, java.nio.charset.Charset)
,
String(byte[], int, int)
,
String(byte[], java.lang.String)
,
String(byte[], java.nio.charset.Charset)
,
String(byte[])
@Deprecated public String(byte[] ascii, int hibyte)
Charset
, 캐릭터 세트의 이름을 취하는 String
생성자 , 또는 플랫폼의 디폴트 캐릭터 세트를 사용하는 String
생성자 의 사용이 추천 됩니다.
String
를 할당합니다. 결과적으로 얻을 수 있는 캐릭터 라인의 각각의 문자 c 는, 이하와 같은 바이트 배열내의 대응하는 요소 b 로부터 구성됩니다.
c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))
ascii
- 캐릭터 라인에 변환되는 바이트hibyte
- 16 비트의 각 Unicode 코드 단위의 상위 8 비트String(byte[], int, int, java.lang.String)
,
String(byte[], int, int, java.nio.charset.Charset)
,
String(byte[], int, int)
,
String(byte[], java.lang.String)
,
String(byte[], java.nio.charset.Charset)
,
String(byte[])
public String(byte[] bytes, int offset, int length, String charsetName) throws UnsupportedEncodingException
String
를 구축합니다. 새로운 String
의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 부분 배열장과 일치하지 않는 것이 있습니다.
지정된 캐릭터 세트로 지정된 바이트가 무효인 경우, 이 생성자 의 동작은 지정되지 않습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder
클래스를 사용할 필요가 있습니다.
bytes
- 캐릭터 라인에 복호화 되는 바이트offset
- 복호화 되는 선두 바이트의 인덱스length
- 복호화 하는 바이트수charsetName
- 지원하는 charset 의 이름
UnsupportedEncodingException
- 지정된 캐릭터 세트가 지원되어 있지 않은 경우
IndexOutOfBoundsException
- offset
및 length
인수 인덱스에 의한 캐릭터 라인이 bytes
배열의 범위외가 되는 경우public String(byte[] bytes, int offset, int length, Charset charset)
String
를 구축합니다. 새로운 String
의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 부분 배열장과 일치하지 않는 것이 있습니다.
이 메소드는, 부정 입력 순서나 맵 불가 문자 순서를, 이 캐릭터 세트의 디폴트의 치환 캐릭터 라인으로 옮겨놓습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder
클래스를 사용할 필요가 있습니다.
bytes
- 캐릭터 라인에 복호화 되는 바이트offset
- 복호화 되는 선두 바이트의 인덱스length
- 복호화 하는 바이트수charset
- bytes
의 복호화에 사용되는 캐릭터 세트
IndexOutOfBoundsException
- offset
및 length
인수 인덱스에 의한 캐릭터 라인이 bytes
배열의 범위외가 되는 경우public String(byte[] bytes, String charsetName) throws UnsupportedEncodingException
String
를 구축합니다. 새로운 String
의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 바이트 배열장과 일치하지 않는 것이 있습니다.
지정된 캐릭터 세트로 지정된 바이트가 무효인 경우, 이 생성자 의 동작은 지정되지 않습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder
클래스를 사용할 필요가 있습니다.
bytes
- 캐릭터 라인에 복호화 되는 바이트charsetName
- 지원하는 charset 의 이름
UnsupportedEncodingException
- 지정된 캐릭터 세트가 지원되어 있지 않은 경우public String(byte[] bytes, Charset charset)
String
를 구축합니다. 새로운 String
의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 바이트 배열장과 일치하지 않는 것이 있습니다.
이 메소드는, 부정 입력 순서나 맵 불가 문자 순서를, 이 캐릭터 세트의 디폴트의 치환 캐릭터 라인으로 옮겨놓습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder
클래스를 사용할 필요가 있습니다.
bytes
- 캐릭터 라인에 복호화 되는 바이트charset
- bytes
의 복호화에 사용되는 캐릭터 세트 public String(byte[] bytes, int offset, int length)
String
를 구축합니다. 새로운 String
의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 부분 배열장과 일치하지 않는 것이 있습니다.
지정된 바이트가 디폴트의 캐릭터 세트로 무효인 경우, 이 생성자 의 동작은 지정되지 않습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder
클래스를 사용할 필요가 있습니다.
bytes
- 캐릭터 라인에 복호화 되는 바이트offset
- 복호화 되는 선두 바이트의 인덱스length
- 복호화 하는 바이트수
IndexOutOfBoundsException
- offset
및 length
인수 인덱스에 의한 캐릭터 라인이 bytes
배열의 범위외가 되는 경우public String(byte[] bytes)
String
를 구축합니다. 새로운 String
의 길이는 캐릭터 세트에 의해 변화하기 위해(때문에), 바이트 배열장과 일치하지 않는 것이 있습니다.
지정된 바이트가 디폴트의 캐릭터 세트로 무효인 경우, 이 생성자 의 동작은 지정되지 않습니다. 복호화 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetDecoder
클래스를 사용할 필요가 있습니다.
bytes
- 캐릭터 라인에 복호화 되는 바이트public String(StringBuffer buffer)
buffer
- StringBuffer
public String(StringBuilder builder)
이 생성자 을 사용하면(자),StringBuilder
로 이행하기 쉬워집니다. toString
메소드를 사용해 캐릭터 라인 빌더로부터 캐릭터 라인을 취득하는 것은, 처리가 고속으로 되므로 일반적으로 추천 되고 있습니다.
builder
- StringBuilder
메소드의 상세 |
---|
public int length()
CharSequence
내의 length
public boolean isEmpty()
length()
가 0 인 경우에 한해,true 를 돌려줍니다.
length()
가 0 의 경우는 true, 그렇지 않은 경우는 falsepublic char charAt(int index)
char
치를 돌려줍니다. 인덱스는,0
으로부터 length() - 1
의 범위가 됩니다. 배열의 인덱스부의 경우와 같이, 순서의 최초의 char
치의 인덱스는 0
, 다음의 문자의 인덱스는 1
으로 계속됩니다.
인덱스로 지정된 char
치가surrogate의 경우, surrogate치가 돌려주어집니다.
CharSequence
내의 charAt
index
- char
치의 인덱스
char
치.
최초의 char
치의 인덱스가 0
이 된다
IndexOutOfBoundsException
- index
인수가 0 보다 작은 값, 또는 캐릭터 라인의 길이와 같은가 이것보다 큰 값의 경우public int codePointAt(int index)
char
치 (Unicode 코드 단위)를 참조해, 범위는 0
~ length()
- 1
입니다.
지정된 인덱스로 지정된 char
치가 상위 surrogate 범위에 있는 경우, 거기에 계속되는 인덱스는, 이String
의 길이 미만입니다. 또, 이후의 인덱스의 char
치가 하위 surrogate 범위에 있는 경우, 이 surrogate 페어에 대응하는 보조 코드 포인트가 돌려주어집니다. 그렇지 않은 경우, 지정된 인덱스에 있는 char
치가 돌려주어집니다.
index
- char
치의 인덱스
index
에 있는 문자의 코드 포인트치
IndexOutOfBoundsException
- index
인수가 0 보다 작은 값, 또는 캐릭터 라인의 길이와 같은가 이것보다 큰 값의 경우public int codePointBefore(int index)
char
치 (Unicode 코드 단위)를 참조해, 범위는 1
~ length
입니다.
(index - 1)
위치의 char
치가 하위 surrogate의 범위에 있는 경우,(index - 2)
가 부가 아닌 경우,(index - 2)
위치의 char
치가 상위 surrogate의 범위에 있는 경우, surrogate 페어의 보조 코드 포인트치가 돌려주어집니다. index - 1
위치의 char
치가 페어로 되어 있지 않은 하위 또는 상위 surrogate의 경우, surrogate치가 돌려주어집니다.
index
- 반환되는 코드 포인트에 계속되는 인덱스
IndexOutOfBoundsException
- index
인수가 1 미만인지, 또는 이 캐릭터 라인의 길이보다 큰 값의 경우public int codePointCount(int beginIndex, int endIndex)
String
의 지정된 텍스트 범위의 Unicode 코드 포인트의 수를 돌려줍니다. 텍스트 범위는, 지정된 beginIndex
로부터 인덱스 endIndex - 1
의 위치의 char
까지입니다. 따라서, 텍스트 범위의 길이 (char
간)는,endIndex-beginIndex
입니다. 텍스트 범위내에서 페어로 되어 있지 않은 surrogate는, 각각 1 개의 코드 포인트로서 셀 수 있습니다.
beginIndex
- 텍스트 범위내의 최초의 char
에의 인덱스endIndex
- 텍스트 범위내의 마지막 char
의 뒤의 인덱스
IndexOutOfBoundsException
- beginIndex
가 0 보다 작은 값인 경우,endIndex
가 이 String
의 길이보다 큰 경우, 혹은 beginIndex
가 endIndex
보다 큰 경우public int offsetByCodePoints(int index, int codePointOffset)
codePointOffset
코드 포인트에 의해 지정된 index
로부터 오프셋(offset)가 설정된, 이 String
내의 인덱스를 돌려줍니다. index
와 codePointOffset
에 의해 지정된 텍스트 범위내에서 페어로 되어 있지 않은 surrogate는, 각각 1 개의 코드 포인트로서 셀 수 있습니다.
index
- 오프셋(offset)에의 인덱스codePointOffset
- 코드 포인트내의 오프셋(offset)
String
내의 인덱스
IndexOutOfBoundsException
- index
가 0 보다 작은 값, 또는 이String
의 길이보다 큰 경우,codePointOffset
가 정의 값이며 index
로부터 시작되는 부분 캐릭터 라인이 가지는 코드 포인트수가 codePointOffset
코드 포인트수보다 적은 경우, 또는 codePointOffset
가 0 보다 작은 값으로 index
의 전의 부분 캐릭터 라인이 가지는 값이 codePointOffset
코드 포인트의 절대치보다 작은 경우public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
카피되는 최초의 문자의 인덱스는 srcBegin
, 카피되는 마지막 문자의 인덱스는 srcEnd-1
입니다. 따라서, 카피되는 문자수는 srcEnd-srcBegin
가 됩니다. 문자는 dst
의 부분 배열에 카피됩니다. 시점의 인덱스는 dstBegin
로, 종점의 인덱스는 다음과 같이 됩니다.
dstbegin + (srcEnd-srcBegin) - 1
srcBegin
- 카피 대상 캐릭터 라인내의 최초의 문자의 인덱스srcEnd
- 카피 대상 캐릭터 라인내의 마지막 문자의 뒤의 인덱스dst
- 카피처 배열dstBegin
- 카피처의 배열내에서의 개시 오프셋(offset)
IndexOutOfBoundsException
- 다음의 어떤 것인가에 들어맞는 경우
srcBegin
가 부
srcBegin
가 srcEnd
보다 크다
srcEnd
가 이 캐릭터 라인의 길이보다 크다
dstBegin
가 부
dstBegin+(srcEnd-srcBegin)
가 dst.length
보다 크다
@Deprecated public void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
getBytes()
메소드의 사용이 추천 됩니다.
카피되는 최초의 문자의 인덱스는 srcBegin
, 카피되는 마지막 문자의 인덱스는 srcEnd-1
입니다. 따라서, 카피되는 문자수는 srcEnd-srcBegin
가 됩니다. 문자는 바이트에 변환되어 dst
의 부분 배열에 카피됩니다. 시점의 인덱스가 dstBegin
로, 종점의 인덱스는 다음과 같이 됩니다.
dstbegin + (srcEnd-srcBegin) - 1
srcBegin
- 카피 대상 캐릭터 라인내의 최초의 문자의 인덱스srcEnd
- 카피 대상 캐릭터 라인내의 마지막 문자의 뒤의 인덱스dst
- 카피처 배열dstBegin
- 카피처의 배열내에서의 개시 오프셋(offset)
IndexOutOfBoundsException
- 다음의 어떤 것인가에 들어맞는 경우
srcBegin
가 부
srcBegin
가 srcEnd
보다 크다
srcEnd
가 이 캐릭터 라인의 길이보다 크다
dstBegin
가 부
dstBegin+(srcEnd-srcBegin)
가 dst.length
보다 크다
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException
String
를 바이트 순서에 encode 해, 결과를 신규 바이트 배열에 포함합니다.
지정된 캐릭터 세트로 이 캐릭터 라인을 encode 할 수 없는 경우, 이 메소드의 동작은 지정되지 않습니다. encode 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetEncoder
클래스를 사용할 필요가 있습니다.
charsetName
- 지원하는 charset 의 이름
UnsupportedEncodingException
- 지정된 캐릭터 세트가 지원되어 있지 않은 경우public byte[] getBytes(Charset charset)
String
를 바이트 순서에 encode 해, 결과를 신규 바이트 배열에 포함합니다.
이 메소드는, 부정 입력 순서나 맵 불가 문자 순서를, 이 캐릭터 세트의 디폴트의 치환 바이트 배열로 옮겨놓습니다. encode 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetEncoder
클래스를 사용할 필요가 있습니다.
charset
- String
의 복호화에 사용되는 Charset
public byte[] getBytes()
String
를 바이트 순서에 encode 해, 결과를 신규 바이트 배열에 포함합니다.
디폴트의 캐릭터 세트로 이 캐릭터 라인을 encode 할 수 없는 경우, 이 메소드의 동작은 지정되지 않습니다. encode 처리를 보다 강력하게 제어할 필요가 있는 경우,CharsetEncoder
클래스를 사용할 필요가 있습니다.
public boolean equals(Object anObject)
null
가 아니고, 이 객체와 같은 문자 순서를 나타내는 String
객체인 경우에만, 결과는 true
가 됩니다.
Object
내의 equals
anObject
- 이 String
라고 비교되는 객체
String
를 나타내는 경우는 true
, 그렇지 않은 경우는 false
compareTo(String)
,
equalsIgnoreCase(String)
public boolean contentEquals(StringBuffer sb)
StringBuffer
을 비교합니다. 이 String
가, 지정된 StringBuffer
와 같은 문자 순서를 나타내는 경우에만, 결과는 true
가 됩니다.
sb
- 이 String
라고 비교되는 StringBuffer
String
가, 지정된 StringBuffer
와 같은 문자 순서를 나타내는 경우는 true
, 그렇지 않은 경우는 false
public boolean contentEquals(CharSequence cs)
CharSequence
를 비교합니다. 이 String
가, 지정된 순서와 같은 char 값의 순서를 나타내는 경우에만, 결과는 true
가 됩니다.
cs
- 이 String
라고 비교되는 순서
String
가, 지정된 순서와와 같은 char 값의 순서를 나타내는 경우는 true
, 그렇지 않은 경우는 false
public boolean equalsIgnoreCase(String anotherString)
String
와 다른 String
를 비교합니다. 대문자와 소문자는 구별되지 않습니다. 길이가 같아, 2 개의 캐릭터 라인내의 대응하는 문자가 대문자와 소문자의 구별없이 동일한 경우, 2 개의 캐릭터 라인은 대문자와 소문자의 구별없이 동일하다고 보여집니다.
다음의 어떤 것인가에 해당하는 경우에,c1
와 c2
라고 하는 2 개의 문자는 대문자 소문자의 구별없이 동일하다고 보여집니다.
==
연산자에 의한 비교)
Character.toUpperCase(char)
메소드를 각각의 문자에 적용하는과 같은 결과가 된다
Character.toLowerCase(char)
메소드를 각각의 문자에 적용하는과 같은 결과가 된다
anotherString
- 이 String
라고 비교되는 String
null
가 아니고 동일한 String
를 나타내는 (대문자와 소문자는 구별하지 않는다) 경우는 true, 그렇지 않은 경우는 false
equals(Object)
public int compareTo(String anotherString)
String
객체에 의해 나타내지는 문자 순서가, 인수 캐릭터 라인에 의해 나타내지는 문자 순서와 사전적으로 비교됩니다. 이 String
객체가 사전적으로 인수 캐릭터 라인보다 전에 있는 경우는, 결과는 부의 정수가 됩니다. 이 String
객체가 사전적으로 인수 캐릭터 라인의 뒤에 있는 경우, 결과는 정의 정수가 됩니다. 캐릭터 라인이 동일한 경우, 결과는 0 이 됩니다. equals(Object)
메소드가 true
를 돌려줄 때,compareTo
는 0
을 돌려줍니다.
사전적의 순서의 정의를 나타냅니다. 2 개의 캐릭터 라인이 다른 경우, 양쪽 모두의 캐릭터 라인에 대해서 유효한 인덱스에 위치하는 문자가 다른지, 2 개의 캐릭터 라인의 길이가 다르든가, 혹은 그 양쪽 모두가 해당합니다. 1 개(살) 이상의 인덱스의 위치에 있는 문자가 다른 경우는, 이 중의 가장 작은 인덱스를 k 로 하면(자), < 연산자를 사용해 「보다 작다」값으로 판정되는, 위치 k 에 있는 문자를 가지는 캐릭터 라인이, 이제(벌써) 한편의 캐릭터 라인보다 사전적으로 전이 됩니다. 이 경우,compareTo
는 2 개의 캐릭터 라인으로 위치 k
에 있는 2 개의 문자의 값의 차이를 돌려줍니다. 이것은 다음의 식에서 나타내지는 값이 됩니다.
유효한 모든 인덱스 위치에 있어서의 문자가 같은 경우는, 짧은 (분)편의 캐릭터 라인이 사전적으로 전이 됩니다. 이 경우는,this.charAt(k) -anotherString.charAt(k)
compareTo
는 캐릭터 라인의 길이의 차이를 돌려줍니다. 이것은 다음의 식에서 나타내지는 값이 됩니다.
this.length() -anotherString.length()
Comparable <String >
내의 compareTo
anotherString
- 비교 대상의 String
0
. 이 캐릭터 라인이 캐릭터 라인 인수보다 사전식에 작은 경우는,0
보다 작은 값. 이 캐릭터 라인이 캐릭터 라인 인수보다 사전식에 큰 경우는,0
보다 큰 값public int compareToIgnoreCase(String str)
compareTo
를 호출해 얻을 수 있던 부호를 가지는 정수를 돌려줍니다. 여기에서는, 각 문자로 Character.toLowerCase(Character.toUpperCase(character))
를 호출하는 것으로 대문자와 소문자의 차이가 없어집니다. 이 메소드는 로케일을 고려하지 않기 때문에, 일부의 로케일에서는, 올바른 순서에 늘어놓을 수 없는 것이 있습니다. java.text 패키지는, 로케일에 의존하는 늘어놓고 바꾸고를 실시하기 위해서(때문에) 「조합 기능」을 제공하고 있습니다.
str
- 비교 대상의 String
Collator.compare(String, String)
public boolean regionMatches(int toffset, String other, int ooffset, int len)
이 String 객체의 부분 캐릭터 라인이, 인수 other 의 부분 캐릭터 라인이라고 비교됩니다. 이러한 부분 캐릭터 라인이 같은 문자 순서를 나타내는 경우, 결과는 true 가 됩니다. 비교의 대상이 되는 String 객체의 부분 캐릭터 라인은, 인덱스 toffset 로부터 시작되어, 길이는 len 입니다. 비교의 대상이 되는 other 의 부분 캐릭터 라인은 인덱스 ooffset 로부터 시작되어, 길이는 len 입니다. 이하의 어떤 것인가에 해당하는 경우에만, 결과는 false 가 됩니다.
toffset
- 이 캐릭터 라인내의 부분 영역의 개시 오프셋(offset)other
- 캐릭터 라인 인수ooffset
- 캐릭터 라인 인수내의 부분 영역의 개시 오프셋(offset)len
- 비교 대상의 문자수
true
, 그렇지 않은 경우는 false
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
이 String 객체의 부분 캐릭터 라인이, 인수 other 의 부분 캐릭터 라인이라고 비교됩니다. 이러한 부분 캐릭터 라인이 같은 문자 순서를 나타내는 경우, 결과는 true 가 됩니다. ignoreCase 가 true 의 경우에만, 대문자와 소문자가 구별되지 않습니다. 비교의 대상이 되는 String 객체의 부분 캐릭터 라인은, 인덱스 toffset 로부터 시작되어, 길이는 len 입니다. 비교의 대상이 되는 other 의 부분 캐릭터 라인은, 인덱스 ooffset 로부터 시작되어, 길이는 len 입니다. 이하의 어떤 것인가에 해당하는 경우에만, 결과는 false 가 됩니다.
this.charAt(toffset+k) ! = other.charAt(ooffset+k)
및Character.toLowerCase(this.charAt(toffset+k)) ! = Character.toLowerCase(other.charAt(ooffset+k))
Character.toUpperCase(this.charAt(toffset+k)) ! = Character.toUpperCase(other.charAt(ooffset+k))
ignoreCase
- true
의 경우, 문자의 비교 시에 대문자 소문자는 구별되지 않는toffset
- 이 캐릭터 라인내의 부분 영역의 개시 오프셋(offset)other
- 캐릭터 라인 인수ooffset
- 캐릭터 라인 인수내의 부분 영역의 개시 오프셋(offset)len
- 비교 대상의 문자수
true
, 그렇지 않은 경우는 false
. 일치했을 경우에, 대문자와 소문자가 구별되고 있을지 어떨지는 인수 ignoreCase
에 의해 정해진다public boolean startsWith(String prefix, int toffset)
prefix
- 접두사toffset
- 이 캐릭터 라인의 비교를 개시하는 위치
toffset
로 시작되는 이 객체의 부분 캐릭터 라인의 접두사인 경우는 true
, 그렇지 않은 경우는 false
.
toffset
가 0 보다 작은 값의 경우, 혹은 String
객체의 길이보다 큰 경우, 결과는 false
. 그렇지 않은 경우는, 결과는 다음의 식의 결과와 같다 this.substring(toffset). startsWith(prefix)
public boolean startsWith(String prefix)
prefix
- 접두사
true
, 그렇지 않은 경우는 false
.
인수가 빈 상태(empty)의 캐릭터 라인의 경우나,equals(Object)
메소드에 의한 판정에 대해 이 String
객체에 동일한 경우에도 true
가 반환되는public boolean endsWith(String suffix)
suffix
- 접미사(suffix)
true
, 그렇지 않은 경우는 false
. 인수가 빈 상태(empty)의 캐릭터 라인의 경우나,equals(Object)
메소드에 의한 판정에 대해 이 String
객체에 동일한 경우에도, 결과는 true
가 된다public int hashCode()
String
의 해시 코드는, 다음의 방법으로 계산합니다.
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
int
산술을 사용합니다. s[i]
는 캐릭터 라인의 i 번째의 문자,n
는 캐릭터 라인의 길이,^
는, 나무승을 나타냅니다. 빈 상태(empty)의 캐릭터 라인의 해시치는 0 입니다.
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public int indexOf(int ch)
ch
를 가지는 문자가 이 String
객체에 의해 나타내지는 문자 순서내에 있는 경우, 최초로 출현하는 위치의 인덱스 (Unicode 코드 단위)가 돌려주어집니다. ch 의 값이 0 ~ 0xFFFF 의 범위에 있는 경우, 다음의 식이 true 가 되는 것 같은 최소치 k 가 돌려주어집니다.
true 입니다.this.charAt(k) == ch
ch
가 다른 값의 경우, 다음의 식이 true 가 되는 것 같은 최소치 k 입니다.
true 입니다. 해당하는 문자가 이 캐릭터 라인내에 없는 경우는,this.codePointAt(k) == ch
-1
이 돌려주어집니다.
ch
- 문자 (Unicode 코드 포인트)
-1
public int indexOf(int ch, int fromIndex)
값 ch
를 가지는 문자가, 이 String
객체에 의해 나타내지는 문자 순서의 fromIndex
보다 큰가 같은 인덱스 위치에 있는 경우, 해당하는 최초의 인덱스가 돌려주어집니다. ch
의 값이 0 ~ 0xFFFF 의 범위에 있는 경우, 다음의 식이 true 가 되는 것 같은 최소치 k 가 돌려주어집니다.
true 입니다.(this.charAt(k) == ch) && (k >= fromIndex)
ch
가 다른 값의 경우, 다음의 식이 true 가 되는 것 같은 최소치 k 입니다.
true 입니다. 해당하는 문자가 이 캐릭터 라인내 또는 위치(this.codePointAt(k) == ch) && (k >= fromIndex)
fromIndex
이후에 없는 경우는 -1
이 돌려주어집니다.
fromIndex
의 값에 대해서 제약은 없다. 0 보다 작은 값의 경우는, 0 의 경우와 같은 결과가 되어, 이 캐릭터 라인 전체가 검색됩니다. 이 캐릭터 라인의 길이보다 큰 경우는, 이 캐릭터 라인의 길이에 동일한 경우와 같은 결과가 되어,-1
가 돌려주어집니다.
모든 인덱스는,char
치 (Unicode 코드 단위)로 지정됩니다.
ch
- 문자 (Unicode 코드 포인트)fromIndex
- 검색 개시 위치의 인덱스
fromIndex
와 같은가 이것보다 큰 인덱스 위치에 있는 경우는, 최초로 출현한 위치의 인덱스. 문자가 없는 경우는 -1
public int lastIndexOf(int ch)
ch
치가 0 ~ 0xFFFF 의 범위에 있는 경우, 반환되는 인덱스 (Unicode 코드 단위)는, 다음의 식에 해당하는 최대치 k 입니다.
true 입니다.this.charAt(k) == ch
ch
가 다른 값의 경우, 다음의 식에 해당하는 최대치 k 입니다.
true 입니다. 해당하는 문자가 이 캐릭터 라인내에 없는 경우는,this.codePointAt(k) == ch
-1
이 돌려주어집니다. String
의 검색은 마지막 문자로부터 개시되어 선두 방향에 행해집니다.
ch
- 문자 (Unicode 코드 포인트)
-1
public int lastIndexOf(int ch, int fromIndex)
ch
치가 0 ~ 0xFFFF 의 범위에 있는 경우, 반환되는 인덱스는, 다음의 식에 해당하는 최대치 k 입니다.
true 입니다.(this.charAt(k) == ch) && (k <= fromIndex)
ch
가 다른 값의 경우, 다음의 식에 해당하는 최대치 k 입니다.
true 입니다. 해당하는 문자가 이 캐릭터 라인내 또는 위치(this.codePointAt(k) == ch) && (k <= fromIndex)
fromIndex
이전에 없는 경우는 -1
이 돌려주어집니다.
모든 인덱스는,char
치 (Unicode 코드 단위)로 지정됩니다.
ch
- 문자 (Unicode 코드 포인트)fromIndex
- 검색 개시 위치의 인덱스fromIndex
의 값에 대해서 제약은 없다.
이 캐릭터 라인의 길이와 같은가 이것보다 큰 경우는, 이 캐릭터 라인의 길이보다 1 작은 경우와 같은 결과가 되어, 이 캐릭터 라인 전체가 검색된다.
0 보다 작은 값의 경우는,-1 의 경우와 같은 결과가 되어,-1 가 반환된다
fromIndex
와 같은가 이것보다 작은 인덱스 위치에 마지막에 출현하는 위치의 인덱스. 지정된 문자가 그 위치보다 전에 없는 경우는 -1
public int indexOf(String str)
this.startsWith(str, k)
true
입니다.
str
- 임의의 캐릭터 라인
-1
public int indexOf(String str, int fromIndex)
이러한 k 의 값이 존재하지 않는 경우,-1 가 돌려주어집니다.k >= Math.min(fromIndex, this.length()) && this.startsWith(str, k)
str
- 검색 대상의 부분 캐릭터 라인fromIndex
- 검색 개시 위치의 인덱스
public int lastIndexOf(String str)
this.length()
라고 보여집니다. 반환되는 인덱스는,
위의 식이this.startsWith(str, k)
true
가 되는 것 같은 최대의 k 입니다.
str
- 검색 대상의 부분 캐릭터 라인
-1
public int lastIndexOf(String str, int fromIndex)
이러한 k 의 값이 존재하지 않는 경우,-1 가 돌려주어집니다.k <= Math.min(fromIndex, this.length()) && this.startsWith(str, k)
str
- 검색 대상의 부분 캐릭터 라인fromIndex
- 검색 개시 위치의 인덱스
public String substring(int beginIndex)
례:
"unhappy". substring(2) returns "happy" "Harbison". substring(3) returns "bison" "emptiness". substring(9) returns "" (an empty string)
beginIndex
- 개시 인덱스 (이 값을 포함한다)
IndexOutOfBoundsException
- beginIndex
가 0 보다 작은 값의 경우, 혹은 이 String
객체의 길이보다 큰 경우public String substring(int beginIndex, int endIndex)
beginIndex
로부터 시작되어, 인덱스 endIndex - 1
에 있는 문자까지입니다. 따라서, 부분 캐릭터 라인의 길이는 endIndex-beginIndex
가 됩니다. 례:
"hamburger". substring(4, 8) returns "urge" "smiles". substring(1, 5) returns "mile"
beginIndex
- 개시 인덱스 (이 값을 포함한다)endIndex
- 종료 인덱스 (이 값을 포함하지 않는다)
IndexOutOfBoundsException
- beginIndex
가 0 보다 작은 값인 경우,endIndex
가 이 String
객체의 길이보다 큰 경우, 혹은 beginIndex
가 endIndex
보다 큰 경우public CharSequence subSequence(int beginIndex, int endIndex)
다음의 폼의 메소드 호출은,
다음의 호출과 정확하게 같은 동작이 됩니다.str.subSequence(begin, end)
이 메소드 정의에 의해,String 클래스가str.substring(begin, end)
CharSequence
인터페이스를 구현 가능하게 됩니다.
CharSequence
내의 subSequence
beginIndex
- 개시 인덱스 (이 값을 포함한다)endIndex
- 종료 인덱스 (이 값을 포함하지 않는다)
IndexOutOfBoundsException
- beginIndex 또는 endIndex 가 0 보다 작은 값의 경우,endIndex 의 값이 length() 보다 큰 경우,beginIndex 의 값이 startIndex 보다 큰 경우public String concat(String str)
인수 캐릭터 라인의 길이가 0
의 경우는, 이 String
객체가 돌려주어집니다. 그렇지 않은 경우는, 이 String
객체에 의해 나타내지는 캐릭터 라인과 인수 캐릭터 라인에 의해 나타내지는 캐릭터 라인을 연결한 것을 나타내는 새로운 String
객체가 생성됩니다.
례:
"cares". concat("s") returns "caress" "to". concat("get"). concat("her") returns "together"
str
- 이 String
의 마지막에 연결되는 String
public String replace(char oldChar, char newChar)
oldChar
를 newChar
에 치환한 결과 생성되는, 새로운 캐릭터 라인을 돌려줍니다.
문자 oldChar
가 이 String
객체에 의해 나타내지는 캐릭터 라인내에 없는 경우는, 이 String
객체에의 참조가 돌려주어집니다. 그렇지 않은 경우는, 이 String
객체에 의해 나타내지는 캐릭터 라인과 같은 캐릭터 라인을 나타내는, 새로운 String
객체가 생성됩니다. 다만, 캐릭터 라인내의 oldChar
는 모두 newChar
에 치환됩니다.
례:
"mesquite in your cellar". replace('e', 'o') returns "mosquito in your collar" "the war of baronets". replace('r', 'y') returns "the way of bayonets" "sparring with a purple porpoise". replace('p', 't') returns "starring with a turtle tortoise" "JonL". replace('q', 'x') returns "JonL" (no change)
oldChar
- 이전의 문자newChar
- 새로운 문자
oldChar
를 newChar
에 치환하는 것에 의해 생성된 캐릭터 라인public boolean matches(String regex)
이 폼의 메소드 호출 str. matches(regex) 에서는, 다음의 식과 정확하게 같은 결과를 얻을 수 있습니다.
Pattern
.matches
(regex, str)
regex
- 이 캐릭터 라인과의 일치를 판정하는 정규 표현
PatternSyntaxException
- 정규 표현의 구문이 무효인 경우Pattern
public boolean contains(CharSequence s)
s
- 검색하는 순서
s
를 포함한 경우는 true. 그렇지 않은 경우는 false
NullPointerException
- s
가 null
의 경우public String replaceFirst(String regex, String replacement)
이 폼의 메소드 호출 str. replaceFirst(regex, repl) 에서는, 다음의 식과 정확하게 같은 결과를 얻을 수 있습니다.
Pattern
.compile
(regex).matcher
(str).replaceFirst
(repl)
치환 캐릭터 라인내에서 backslash (\)와 달러 기호 ($)를 사용하면(자), 그것을 리터럴 치환 캐릭터 라인으로서 처리했을 경우와는 결과가 다른 경우가 있습니다. Matcher.replaceFirst(java.lang.String)
를 참조해 주세요. 필요에 따라서,Matcher.quoteReplacement(java.lang.String)
를 사용해, 이러한 문자에 특별한 의미를 갖게하지 않게 해 주세요.
regex
- 이 캐릭터 라인과의 일치를 판정하는 정규 표현replacement
- 최초로 일치하는 것으로 옮겨지는 캐릭터 라인
PatternSyntaxException
- 정규 표현의 구문이 무효인 경우Pattern
public String replaceAll(String regex, String replacement)
이 폼의 메소드 호출 str. replaceAll(regex, repl) 에서는, 다음의 식과 정확하게 같은 결과를 얻을 수 있습니다.
Pattern
.compile
(regex).matcher
(str).replaceAll
(repl)
치환 캐릭터 라인내에서 backslash (\)와 달러 기호 ($)를 사용하면(자), 그것을 리터럴 치환 캐릭터 라인으로서 처리했을 경우와는 결과가 다른 경우가 있습니다. Matcher.replaceAll
를 참조해 주세요. 필요에 따라서,Matcher.quoteReplacement(java.lang.String)
를 사용해, 이러한 문자에 특별한 의미를 갖게하지 않게 해 주세요.
regex
- 이 캐릭터 라인과의 일치를 판정하는 정규 표현replacement
- 일치하는 것 각각 옮겨놓을 수 있는 캐릭터 라인
PatternSyntaxException
- 정규 표현의 구문이 무효인 경우Pattern
public String replace(CharSequence target, CharSequence replacement)
target
- 치환되는 char 값의 순서replacement
- char 값의 치환 순서
NullPointerException
- target
또는 replacement
가 null
의 경우public String [] split(String regex, int limit)
이 캐릭터 라인의 각 부분 캐릭터 라인을 포함한 메소드에 의해 반환되는 배열은, 지정된 식에 일치하는 다른 부분 캐릭터 라인, 또는 그 캐릭터 라인의 최후로 종료합니다. 배열내의 부분 캐릭터 라인의 순서는, 이 캐릭터 라인내에서 출현하는 순서가 됩니다. 입력된 어느 부분과도 식이 일치하지 않는 경우, 배열은 1 개의 요소 (즉, 이 캐릭터 라인)만을 보관 유지합니다.
limit 파라미터는, 이 패턴의 적용 회수, 즉, 결과적으로 얻을 수 있는 배열의 길이를 제어합니다. 제한 n 가 제로보다 큰 경우, 이 패턴은 n - 1 회이하의 회수가 적용되어 배열의 길이는 n 다음과 같이 됩니다. 배열의 마지막 엔트리에는, 마지막에 매치 한 단락 문자 이후의 입력 순서가 모두 포함됩니다. n 가 0 보다 작은 값의 경우, 이 패턴의 적용 회수와 배열의 길이는 제한되지 않습니다. n 가 제로의 경우, 이 패턴의 적용 회수와 배열의 길이는 제한됩니다만, 후속의 빈 상태(empty)의 캐릭터 라인은 파기됩니다.
예를 들어, 다음의 파라미터가 지정되었을 경우의, 캐릭터 라인 "boo:and:foo" 의 결과를 나타냅니다.
정규 표현 제한 결과 : 2 { "boo", "and:foo" } : 5 { "boo", "and", "foo" } : -2 { "boo", "and", "foo" } o 5 { "b", "", ":and:f", "", "" } o -2 { "b", "", ":and:f", "", "" } o 0 { "b", "", ":and:f" }
이 폼의 메소드 호출 str. split(regex, n) 에서는, 다음의 식과 정확하게 같은 결과를 얻을 수 있습니다.
Pattern
.compile
(regex).split
(str, n)
regex
- 정규 표현의 단락limit
- 결과의 임계치 (상기를 참조)
PatternSyntaxException
- 정규 표현의 구문이 무효인 경우Pattern
public String [] split(String regex)
이 메소드의 동작은, 2 개의 인수를 취하는 split
메소드를, 지정된 식 및 인수 제한 제로를 지정해 호출했을 경우와 같게 됩니다. 즉, 결과적으로 얻을 수 있는 배열에는 후속의 빈 상태(empty)의 캐릭터 라인은 포함되지 않습니다.
예를 들어, 다음의 식을 지정했을 경우의, 캐릭터 라인 "boo:and:foo" 의 결과를 나타냅니다.
정규 표현 결과 : { "boo", "and", "foo" } o { "b", "", ":and:f" }
regex
- 정규 표현의 단락
PatternSyntaxException
- 정규 표현의 구문이 무효인 경우Pattern
public String toLowerCase(Locale locale)
Locale
의 규칙을 사용해, 이 String
내의 모든 캐릭터 라인을 소문자로 변환합니다. 케이스 매핑은,Character
클래스에서 지정된 Unicode 스펙 버젼에 근거하고 있습니다. 케이스 매핑은 항상 1:1 의 문자 매핑이 된다고는 할 수 없기 때문에, 결과적으로 얻을 수 있는 String
가 원의 String
와 길이가 다른 경우가 있습니다. 소문자의 매핑예를, 다음의 겉(표)에 나타냅니다.
로케일의 언어 코드 | 대문자 | 소문자 | 설명 |
---|---|---|---|
tr (터키어) | \u0130 | \u0069 | 위에 점이 붙은 대문자의 I -> 소문자의 i |
tr (터키어) | \u0049 | \u0131 | 대문자의 I -> 점이 없는 소문자의 i |
(모두) | French Fries | french fries | String 내의 문자 모든 것을 소문자에 변환 |
(모두) | ![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() |
String 내의 문자 모든 것을 소문자에 변환 |
locale
- 이 로케일의 대문자 소문자 변환 규칙을 사용한다
String
toLowerCase()
,
toUpperCase()
,
toUpperCase(Locale)
public String toLowerCase()
String
내의 모든 문자를 소문자로 변환합니다. 이것은,toLowerCase(Locale.getDefault())
의 호출과 등가가 됩니다.
주: 이 메소드는 로케일에 의존하기 위해(때문에), 로케일이 단독으로 해석되는 것 같은 캐릭터 라인에 사용하면(자), 예기치 못한 결과를 일으키는 일이 있습니다. 예로서 프로그램 언어 식별자, 프로토콜 키, HTML 태그가 있습니다. 예를 들어, 터키어 로케일의 "TITLE". toLowerCase()
는 "t? tle"
를 돌려줍니다. 여기서, 「?」(은)는 점이 없는 라틴 소문자의 I 의 문자입니다. 로케일에 의존하지 않는 캐릭터 라인의 올바른 결과를 가져오려면 ,toLowerCase(Locale.ENGLISH)
를 사용합니다.
String
toLowerCase(Locale)
public String toUpperCase(Locale locale)
Locale
의 규칙을 사용해, 이 String
내의 모든 캐릭터 라인을 대문자로 변환합니다. 케이스 매핑은,Character
클래스에서 지정된 Unicode 스펙 버젼에 근거하고 있습니다. 케이스 매핑은 항상 1:1 의 문자 매핑이 된다고는 할 수 없기 때문에, 결과적으로 얻을 수 있는 String
가 원의 String
와 길이가 다른 경우가 있습니다. 로케일 의존 및 1:M 의 케이스 매핑의 예를, 다음의 겉(표)에 나타냅니다.
로케일의 언어 코드 | 소문자 | 대문자 | 설명 |
---|---|---|---|
tr (터키어) | \u0069 | \u0130 | 소문자의 i -> 상에점이 붙은 대문자의 I |
tr (터키어) | \u0131 | \u0049 | 점이 없는 소문자의 i -> 소문자의 I |
(모두) | \u00df | \u0053 \u0053 | 소문자의 샤프 s -> SS 의 2 문자 |
(모두) | Fahrvergnügen | FAHRVERGNÜGEN |
locale
- 이 로케일의 대문자 소문자 변환 규칙을 사용한다
String
toUpperCase()
,
toLowerCase()
,
toLowerCase(Locale)
public String toUpperCase()
String
내의 모든 문자를 대문자로 변환합니다. 이 메소드는,toUpperCase(Locale.getDefault())
와 등가가 됩니다.
주: 이 메소드는 로케일에 의존하기 위해(때문에), 로케일이 단독으로 해석되는 것 같은 캐릭터 라인에 사용하면(자), 예기치 못한 결과를 일으키는 일이 있습니다. 예로서 프로그램 언어 식별자, 프로토콜 키, HTML 태그가 있습니다. 예를 들어, 터키어 로케일의 "title". toUpperCase()
는 "T? TLE"
를 돌려줍니다. 여기서, 「?」(은)는 위에 점이 붙은 라틴 대문자의 I 의 문자입니다. 로케일에 의존하지 않는 캐릭터 라인의 올바른 결과를 가져오려면 ,toUpperCase(Locale.ENGLISH)
를 사용합니다.
String
toUpperCase(Locale)
public String trim()
이 String
객체가 빈 상태(empty)의 캐릭터 라인을 나타내는 경우, 혹은 이 String
객체에 의해 나타내지는 캐릭터 라인의 최초와 마지막 문자의 코드가 모두 '\u0020'
(스페이스 문자)보다 큰 경우는, 이 String
객체에의 참조가 돌려주어집니다.
캐릭터 라인내에 '\u0020'
보다 큰 코드의 문자가 없는 경우는, 빈 상태(empty)의 캐릭터 라인을 나타내는 새로운 String
객체가 생성되어 돌려주어집니다.
예를 들어,k 가 캐릭터 라인내의 최초의 문자의 인덱스이며, 「\u0020
」보다 큰 코드값를 가져,m 가 캐릭터 라인내의 마지막 문자의 인덱스이며, 「\u0020
」보다 큰 코드값를 가지는 경우는, 인덱스 k 에 있는 문자로 시작되어, 인덱스 m 에 있는 문자로 끝나는, 이 캐릭터 라인의 부분 캐릭터 라인을 나타내는 새로운 String
객체가 생성됩니다. 즉, 이것은 this.substring(k, m+1)
의 결과와 같습니다.
이 메소드는 캐릭터 라인의 선두와 최후로부터 (상기로 정의된) 공백을 잘라내기 위해서(때문에) 사용할 수 있습니다.
public String toString()
CharSequence
내의 toString
Object
내의 toString
public char[] toCharArray()
public static String format(String format, Object ... args)
항상 사용되는 로케일은,Locale.getDefault()
에 의해 반환되는 로케일입니다.
format
- 서식 캐릭터 라인 args
- 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수.
서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다.
인수의 수는 변동해, 제로의 경우도 있다.
인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다. null 인수에서의 동작은,변환에 응해 다르다
IllegalFormatException
- 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 가능성이 있는 서식 에러 모든 자세한 것은, Formatter 클래스 스펙의「상세」섹션을 참조
NullPointerException
- format 가 null 의 경우Formatter
public static String format(Locale l, String format, Object ... args)
l
- 서식 설정시에 적용하는 로케일 .
l 가 null 의 경우, 로컬라이제이션은 적용되지 않는다. format
- 서식 캐릭터 라인 args
- 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수.
서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다.
인수의 수는 변동해, 제로의 경우도 있다.
인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다. null 인수에서의 동작은,변환에 응해 다르다
IllegalFormatException
- 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 생각되는 모든 서식 에러의 스펙에 대해서는, 포매터 클래스 스펙의「상세」의 섹션을 참조
NullPointerException
- format 가 null 의 경우Formatter
public static String valueOf(Object obj)
Object
인수의 캐릭터 라인 표현을 돌려줍니다.
obj
- Object
null
의 경우는,"null"
에 동일한 캐릭터 라인. 그렇지 않은 경우는,obj.toString()
의 값Object.toString()
public static String valueOf(char[] data)
char
배열 인수의 캐릭터 라인 표현을 돌려줍니다. 문자 배열의 내용이 카피됩니다. 카피 후에 그 문자가 변경되어도, 새롭게 작성된 캐릭터 라인에는 영향을 주지 않습니다.
data
- char
배열
public static String valueOf(char[] data, int offset, int count)
char
배열 인수의 특정의 부분 배열의 캐릭터 라인 표현을 돌려줍니다.
offset
인수는 부분 배열의 최초의 문자의 인덱스를 나타냅니다. count
인수는 부분 배열의 길이를 나타냅니다. 부분 배열의 내용이 카피됩니다. 카피 후에 문자 배열이 변경되어도, 새롭게 작성된 캐릭터 라인에는 영향을 주지 않습니다.
data
- 문자 배열offset
- String
의 값에의 초기 오프셋(offset)count
- String
의 값의 길이
IndexOutOfBoundsException
- offset
가 0 보다 작은 값의 경우,count
가 0 보다 작은 값의 경우, 혹은 offset+count
가 data.length
보다 큰 경우public static String copyValueOf(char[] data, int offset, int count)
data
- 문자 배열offset
- 부분 배열의 초기 오프셋(offset)count
- 부분 배열의 길이
String
public static String copyValueOf(char[] data)
data
- 문자 배열
String
public static String valueOf(boolean b)
boolean
인수의 캐릭터 라인 표현을 돌려줍니다.
b
- boolean
true
의 경우는,"true"
에 동일한 캐릭터 라인. 그렇지 않은 경우는,"false"
에 동일한 캐릭터 라인public static String valueOf(char c)
char
인수의 캐릭터 라인 표현을 돌려줍니다.
c
- char
c
가 포함된, 길이 1
의 캐릭터 라인public static String valueOf(int i)
int
인수의 캐릭터 라인 표현을 돌려줍니다.
이 표현은 1 개의 인수를 가지는 Integer.toString
메소드에 의해 반환되는 것과 완전히 같습니다.
i
- int
int
인수의 캐릭터 라인 표현Integer.toString(int, int)
public static String valueOf(long l)
long
인수의 캐릭터 라인 표현을 돌려줍니다.
이 표현은 1 개의 인수를 가지는 Long.toString
메소드에 의해 반환되는 것과 완전히 같습니다.
l
- long
long
인수의 캐릭터 라인 표현Long.toString(long)
public static String valueOf(float f)
float
인수의 캐릭터 라인 표현을 돌려줍니다.
이 표현은 1 개의 인수를 가지는 Float.toString
메소드에 의해 반환되는 것과 완전히 같습니다.
f
- float
float
인수의 캐릭터 라인 표현Float.toString(float)
public static String valueOf(double d)
double
인수의 캐릭터 라인 표현을 돌려줍니다.
이 표현은 1 개의 인수를 가지는 Double.toString
메소드에 의해 반환되는 것과 완전히 같습니다.
d
- double
double
인수의 캐릭터 라인 표현Double.toString(double)
public String intern()
캐릭터 라인의 풀은, 초기 상태에서는 빈 상태(empty)에서,String
클래스에 의해 프라이빗에 보관 유지됩니다.
intern 메소드가 불려 갔을 때에,equals(Object)
메소드에 의해 이 String
객체에 동일하면 판정되는 캐릭터 라인이 풀에 벌써 있었을 경우는, 풀내의 해당하는 캐릭터 라인이 돌려주어집니다. 그렇지 않은 경우는, 이 String
객체가 풀에 추가되어 이 String
객체에의 참조가 돌려주어집니다.
이 때문에, 임의의 2 개의 캐릭터 라인 s
와 t
에 대해서는,s.equals(t)
가 true
의 경우에게만,s.intern() == t.intern()
는 true
가 됩니다.
모든 리터럴 캐릭터 라인 및 캐릭터 라인치 정수식이 보관 유지됩니다. 캐릭터 라인 리터럴은,「Java 언어 스펙」의 §3. 10.5 로 정의되고 있습니다.
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.