Class | Tree | Index | Help | |||
PREV CLASS | NEXT CLASS | FRAMES | NO FRAMES | ||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.String
String
class represents character strings. All
string literals in Java programs, such as "abc"
, are
implemented as instances of this class.
Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared. For example:
String str = "abc";
is equivalent to:
char data[] = {'a', 'b', 'c'}; String str = new String(data);
Here are some more examples of how strings can be used:
System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2);
The class String
includes methods for examining
individual characters of the sequence, for comparing strings, for
searching strings, for extracting substrings, and for creating a
copy of a string with all characters translated to uppercase or to
lowercase.
The Java language provides special support for the string
concatentation operator ( + ), and for conversion of
other objects to strings. String concatenation is implemented
through the StringBuffer
class and its
append
method.
String conversions are implemented through the method
toString
, defined by Object
and
inherited by all classes in Java. For additional information on
string concatenation and conversion, see Gosling, Joy, and Steele,
The Java Language Specification.
Field Summary | |
static java.util.Comparator | CASE_INSENSITIVE_ORDER
Returns a case insensitive string Comparator that orders Strings as by compareToIgnoreCase .
|
int | count
The count is the number of characters in the String. |
int | offset
The offset is the first index of the storage that is used. |
static java.io.ObjectStreamField[] | serialPersistentFields
Class String is special cased within the Serialization Stream Protocol. |
static long | serialVersionUID
use serialVersionUID from JDK 1.0.2 for interoperability |
char[] | value
The value is used for character storage. |
Constructor Summary | |
String()
Allocates a new String containing no characters. |
|
String(String value)
Allocates a new string that contains the same sequence of characters as the string argument. |
|
String(char[] value)
Allocates a new String so that it represents the
sequence of characters currently contained in the character array
argument. |
|
String(char[] value,
int offset,
int count)
Allocates a new String that contains characters from
a subarray of the character array argument. |
|
String(byte[] ascii,
int hibyte,
int offset,
int count)
Deprecated. Allocates a new String constructed from a subarray
of an array of 8-bit integer values.
|
|
String(byte[] ascii,
int hibyte)
Deprecated. Allocates a new String containing characters
constructed from an array of 8-bit integer values. |
|
String(byte[] bytes,
int offset,
int length,
sun.io.ByteToCharConverter btc)
Construct a new String by converting the specified
subarray of bytes using the specified character-encoding converter. |
|
String(byte[] bytes,
int offset,
int length,
String enc)
Construct a new String by converting the specified
subarray of bytes using the specified character encoding. |
|
String(byte[] bytes,
String enc)
Construct a new String by converting the specified array
of bytes using the specified character encoding. |
|
String(byte[] bytes,
int offset,
int length)
Construct a new String by converting the specified
subarray of bytes using the platform's default character encoding. |
|
String(byte[] bytes)
Construct a new String by converting the specified array
of bytes using the platform's default character encoding. |
|
String(java.lang.StringBuffer buffer)
Allocates a new string that contains the sequence of characters currently contained in the string buffer argument. |
|
String(int offset,
int count,
char[] value)
|
Method Summary | |
char | charAt(int index)
Returns the character at the specified index. |
int | compareToIgnoreCase(String str)
Compares two strings lexicographically ignoring case considerations. |
int | compareTo(String anotherString)
Compares two strings lexicographically. |
int | compareTo(Object o)
Compares this String to another Object. |
String | concat(String str)
Concatenates the specified string to the end of this string. |
static String | copyValueOf(char[] data,
int offset,
int count)
Returns a String that is equivalent to the specified character array. |
static String | copyValueOf(char[] data)
Returns a String that is equivalent to the specified character array. |
boolean | endsWith(String suffix)
Tests if this string ends with the specified suffix. |
boolean | equalsIgnoreCase(String anotherString)
Compares this String to another object. |
boolean | equals(Object anObject)
Compares this string to the specified object. |
void | getBytes(int srcBegin,
int srcEnd,
byte[] dst,
int dstBegin)
Deprecated. Copies characters from this string into the destination byte array. |
byte[] | getBytes(sun.io.CharToByteConverter ctb)
Apply the specified character-encoding converter to this String, storing the resulting bytes into a new byte array. |
byte[] | getBytes(String enc)
Convert this String into bytes according to the specified
character encoding, storing the result into a new byte array. |
byte[] | getBytes()
Convert this String into bytes according to the platform's
default character encoding, storing the result into a new byte array. |
void | getChars(int srcBegin,
int srcEnd,
char[] dst,
int dstBegin)
Copies characters from this string into the destination character array. |
int | hashCode()
Returns a hashcode for this string. |
int | indexOf(int ch)
Returns the index within this string of the first occurrence of the specified character. |
int | indexOf(int ch,
int fromIndex)
Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index. |
int | indexOf(String str)
Returns the index within this string of the first occurrence of the specified substring. |
int | indexOf(String str,
int fromIndex)
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index. |
String | intern()
Returns a canonical representation for the string object. |
int | lastIndexOf(int ch)
Returns the index within this string of the last occurrence of the specified character. |
int | lastIndexOf(int ch,
int fromIndex)
Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index. |
int | lastIndexOf(String str)
Returns the index within this string of the rightmost occurrence of the specified substring. |
int | lastIndexOf(String str,
int fromIndex)
Returns the index within this string of the last occurrence of the specified substring. |
int | length()
Returns the length of this string. |
boolean | regionMatches(int toffset,
String other,
int ooffset,
int len)
Tests if two string regions are equal. |
boolean | regionMatches(boolean ignoreCase,
int toffset,
String other,
int ooffset,
int len)
Tests if two string regions are equal. |
String | replace(char oldChar,
char newChar)
Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar .
|
boolean | startsWith(String prefix,
int toffset)
Tests if this string starts with the specified prefix. |
boolean | startsWith(String prefix)
Tests if this string starts with the specified prefix. |
String | substring(int beginIndex)
Returns a new string that is a substring of this string. |
String | substring(int beginIndex,
int endIndex)
Returns a new string that is a substring of this string. |
char[] | toCharArray()
Converts this string to a new character array. |
String | toLowerCase(java.util.Locale locale)
Converts all of the characters in this String to lower
case using the rules of the given Locale .
|
String | toLowerCase()
Converts all of the characters in this String to lower
case using the rules of the default locale, which is returned
by Locale.getDefault .
|
String | toString()
This object (which is already a string!) |
String | toUpperCase(java.util.Locale locale)
Converts all of the characters in this String to upper
case using the rules of the given locale.
|
String | toUpperCase()
Converts all of the characters in this String to upper
case using the rules of the default locale, which is returned
by Locale.getDefault .
|
String | trim()
Removes white space from both ends of this string. |
static String | valueOf(Object obj)
Returns the string representation of the Object argument. |
static String | valueOf(char[] data)
Returns the string representation of the char array
argument. |
static String | valueOf(char[] data,
int offset,
int count)
Returns the string representation of a specific subarray of the char array argument.
|
static String | valueOf(boolean b)
Returns the string representation of the boolean argument. |
static String | valueOf(char c)
Returns the string representation of the char * argument. |
static String | valueOf(int i)
Returns the string representation of the int argument.
|
static String | valueOf(long l)
Returns the string representation of the long argument.
|
static String | valueOf(float f)
Returns the string representation of the float argument.
|
static String | valueOf(double d)
Returns the string representation of the double argument.
|
Methods inherited from class java.lang.Object | |
Field Detail |
private char[] value
private int offset
private int count
private static final long serialVersionUID
public static final java.io.ObjectStreamField[] serialPersistentFields
TC_STRING
(utf String)
The String is written by method DataOutput.writeUTF
.
A new handle is generated to refer to all future references to the
string instance within the stream.public static final java.util.Comparator CASE_INSENSITIVE_ORDER
compareToIgnoreCase
.
Note that this Comparator does not take locale into account, and may not result in a satisfactory ordering for certain locales. The java.text package provides Collators to allow locale-sensitive ordering.
Note also that s1.equalsIgnoreCase(s2)
does not
necessarily imply that
CASE_INSENSITIVE_ORDER.compare(s1, s2)==0
,
but CASE_INSENSITIVE_ORDER.compare(s1, s2)==0
does imply
that s1.equalsIgnoreCase(s2)
.
Constructor Detail |
public String()
String
containing no characters.public String(String value)
value
- a String
.public String(char[] value)
String
so that it represents the
sequence of characters currently contained in the character array
argument.
value
- the initial value of the string.public String(char[] value, int offset, int count)
String
that contains characters from
a subarray of the character array argument. The offset
argument is the index of the first character of the subarray and
the count
argument specifies the length of the
subarray.
value
- array that is the source of characters.
offset
- the initial offset.
count
- the length.offset
and count
arguments index characters outside
the bounds of the value
array.public String(byte[] ascii, int hibyte, int offset, int count)
String
constructors that take a character-encoding name or
that use the platform's default encoding.String
constructed from a subarray
of an array of 8-bit integer values.
The offset
argument is the index of the first byte
of the subarray, and the count
argument specifies the
length of the subarray.
Each byte
in the subarray is converted to a
char
as specified in the method above.
ascii
- the bytes to be converted to characters.
hibyte
- the top 8 bits of each 16-bit Unicode character.
offset
- the initial offset.
count
- the length.offset
or count
argument is invalid.public String(byte[] ascii, int hibyte)
String
constructors that take a character-encoding name or
that use the platform's default encoding.String
containing characters
constructed from an array of 8-bit integer values. Each character
cin the resulting string is constructed from the
corresponding component b in the byte array such that:
c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))
ascii
- the bytes to be converted to characters.
hibyte
- the top 8 bits of each 16-bit Unicode character.private String(byte[] bytes, int offset, int length, sun.io.ByteToCharConverter btc)
String
by converting the specified
subarray of bytes using the specified character-encoding converter. The
length of the new String
is a function of the encoding, and
hence may not be equal to the length of the subarray.
bytes
- The bytes to be converted into characters
offset
- Index of the first byte to convert
length
- Number of bytes to convert
btc
- A ByteToCharConverterpublic String(byte[] bytes, int offset, int length, String enc) throws java.io.UnsupportedEncodingException
String
by converting the specified
subarray of bytes using the specified character encoding. The length of
the new String
is a function of the encoding, and hence may
not be equal to the length of the subarray.
bytes
- The bytes to be converted into characters
offset
- Index of the first byte to convert
length
- Number of bytes to convert
enc
- The name of a character encodingpublic String(byte[] bytes, String enc) throws java.io.UnsupportedEncodingException
String
by converting the specified array
of bytes using the specified character encoding. The length of the new
String
is a function of the encoding, and hence may not be
equal to the length of the byte array.
bytes
- The bytes to be converted into characters
enc
- A character-encoding namepublic String(byte[] bytes, int offset, int length)
String
by converting the specified
subarray of bytes using the platform's default character encoding. The
length of the new String
is a function of the encoding, and
hence may not be equal to the length of the subarray.
bytes
- The bytes to be converted into characters
offset
- Index of the first byte to convert
length
- Number of bytes to convertpublic String(byte[] bytes)
String
by converting the specified array
of bytes using the platform's default character encoding. The length of
the new String
is a function of the encoding, and hence may
not be equal to the length of the byte array.
bytes
- The bytes to be converted into characterspublic String(java.lang.StringBuffer buffer)
buffer
- a StringBuffer
.private String(int offset, int count, char[] value)
Method Detail |
public int length()
public char charAt(int index)
0
to length() - 1
.
index
- the index of the character.0
.public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
The first character to be copied is at index srcBegin
;
the last character to be copied is at index srcEnd-1
(thus the total number of characters to be copied is
srcEnd-srcBegin
). The characters are copied into the
subarray of dst
starting at index dstBegin
and ending at index:
dstbegin + (srcEnd-srcBegin) - 1
srcBegin
- index of the first character in the string
to copy.
srcEnd
- index after the last character in the string
to copy.
dst
- the destination array.
dstBegin
- the start offset in the destination array.public void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
getBytes(String enc)
method, which takes a
character-encoding name, or the getBytes()
method, which
uses the platform's default encoding.
The first character to be copied is at index srcBegin
;
the last character to be copied is at index srcEnd-1
.
The total number of characters to be copied is
srcEnd-srcBegin
. The characters, converted to bytes,
are copied into the subarray of dst
starting at index
dstBegin
and ending at index:
dstbegin + (srcEnd-srcBegin) - 1
srcBegin
- index of the first character in the string
to copy.
srcEnd
- index after the last character in the string
to copy.
dst
- the destination array.
dstBegin
- the start offset in the destination array.private byte[] getBytes(sun.io.CharToByteConverter ctb)
ctb
- A CharToByteConverterpublic byte[] getBytes(String enc) throws java.io.UnsupportedEncodingException
String
into bytes according to the specified
character encoding, storing the result into a new byte array.
enc
- A character-encoding namepublic byte[] getBytes()
String
into bytes according to the platform's
default character encoding, storing the result into a new byte array.public boolean equals(Object anObject)
true
if and only if the argument is not
null
and is a String
object that represents
the same sequence of characters as this object.
anObject
- the object to compare this String
against.true
if the String
are equal;
false
otherwise.public boolean equalsIgnoreCase(String anotherString)
true
if and only if the argument is not
null
and is a String
object that represents
the same sequence of characters as this object, where case is ignored.
Two characters are considered the same, ignoring case, if at least one of the following is true:
==
operator).
Character.toUppercase
to each
character produces the same result.
Character.toLowercase
to each
character produces the same result.
Two sequences of characters are the same, ignoring case, if the sequences have the same length and corresponding characters are the same, ignoring case.
anotherString
- the String
to compare this
String
against.true
if the String
s are equal,
ignoring case; false
otherwise.public int compareTo(String anotherString)
anotherString
- the String
to be compared.0
if the argument string is equal to
this string; a value less than 0
if this string
is lexicographically less than the string argument; and a
value greater than 0
if this string is
lexicographically greater than the string argument.public int compareTo(Object o)
compareTo(String)
. Otherwise,
it throws a ClassCastException
(as Strings are comparable
only to other Strings).
o
- the Object
to be compared.0
if the argument is a string
lexicographically equal to this string; a value less than
0
if the argument is a string lexicographically
greater than this string; and a value greater than
0
if the argument is a string lexicographically
less than this string.ClassCastException
- if the argument is not a
String
.public int compareToIgnoreCase(String str)
Character.toLowerCase
.
Note that this method is does not take locale into account, and may not result in a satisfactory ordering for certain locales. The java.text package provides collators to allow locale-sensitive ordering.
Note also that s1.equalsIgnoreCase(s2)
does not
necessarily imply that s1.compareToIgnoreCase(s2)==0
,
but s1.compareToIgnoreCase(s2)==0
does imply that
s1.equalsIgnoreCase(s2)
.
str
- the String
to be compared.public boolean regionMatches(int toffset, String other, int ooffset, int len)
If toffset
or ooffset
is negative, or
if toffset
+length
is greater than the
length of this string, or if
ooffset
+length
is greater than the
length of the string argument, then this method returns
false
.
toffset
- the starting offset of the subregion in this string.
other
- the string argument.
ooffset
- the starting offset of the subregion in the string
argument.
len
- the number of characters to compare.true
if the specified subregion of this string
exactly matches the specified subregion of the string argument;
false
otherwise.public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
If toffset
or ooffset
is negative, or
if toffset
+length
is greater than the
length of this string, or if
ooffset
+length
is greater than the
length of the string argument, then this method returns
false
.
ignoreCase
- if true
, ignore case when comparing
characters.
toffset
- the starting offset of the subregion in this
string.
other
- the string argument.
ooffset
- the starting offset of the subregion in the string
argument.
len
- the number of characters to compare.true
if the specified subregion of this string
matches the specified subregion of the string argument;
false
otherwise. Whether the matching is exact
or case insensitive depends on the ignoreCase
argument.public boolean startsWith(String prefix, int toffset)
prefix
- the prefix.
toffset
- where to begin looking in the string.true
if the character sequence represented by the
argument is a prefix of the substring of this object starting
at index toffset
; false
otherwise.public boolean startsWith(String prefix)
prefix
- the prefix.true
if the character sequence represented by the
argument is a prefix of the character sequence represented by
this string; false
otherwise.public boolean endsWith(String suffix)
suffix
- the suffix.true
if the character sequence represented by the
argument is a suffix of the character sequence represented by
this object; false
otherwise.public int hashCode()
public int indexOf(int ch)
ch
- a character.-1
if the character does not occur.public int indexOf(int ch, int fromIndex)
ch
- a character.
fromIndex
- the index to start the search from.fromIndex
, or -1
if the character does not occur.public int lastIndexOf(int ch)
ch
- a character.-1
if the character does not occur.public int lastIndexOf(int ch, int fromIndex)
ch
- a character.
fromIndex
- the index to start the search from.fromIndex
, or -1
if the character does not occur before that point.public int indexOf(String str)
str
- any string.-1
is returned.public int indexOf(String str, int fromIndex)
str
- the substring to search for.
fromIndex
- the index to start the search from.fromIndex
, then the index of the first character
of the first such substring is returned. If it does not occur
as a substring starting at fromIndex
or beyond,
-1
is returned.public int lastIndexOf(String str)
this.length()
.
str
- the substring to search for.-1
is returned.public int lastIndexOf(String str, int fromIndex)
fromIndex
.
str
- the substring to search for.
fromIndex
- the index to start the search from.fromIndex
, then the index of the first character of
the last such substring is returned. If it does not occur as a
substring starting at fromIndex
or earlier,
-1
is returned.public String substring(int beginIndex)
beginIndex
- the beginning index, inclusive.beginIndex
is out of range.public String substring(int beginIndex, int endIndex)
beginIndex
and
extends to the character at index endIndex - 1
.
beginIndex
- the beginning index, inclusive.
endIndex
- the ending index, exclusive.beginIndex
or the endIndex
is
out of range.public String concat(String str)
If the length of the argument string is 0
, then this
object is returned.
str
- the String
that is concatenated to the end
of this String
.public String replace(char oldChar, char newChar)
oldChar
in this string with newChar
.
If the character oldChar
does not occur in the
character sequence represented by this object, then this string is
returned.
oldChar
- the old character.
newChar
- the new character.oldChar
with newChar
.public String toLowerCase(java.util.Locale locale)
String
to lower
case using the rules of the given Locale
.
Usually, the characters are converted by calling
Character.toLowerCase
.
Exceptions to this rule are listed in
the following table:
Language Code of Locale | Upper Case | Lower Case | Description |
---|---|---|---|
tr (Turkish) | \u0130 | \u0069 | capital letter I with dot above -> small letter i |
tr (Turkish) | \u0049 | \u0131 | capital letter I -> small letter dotless i |
locale
- use the case transformation rules for this localepublic String toLowerCase()
String
to lower
case using the rules of the default locale, which is returned
by Locale.getDefault
.
If no character in the string has a different lowercase version,
based on calling the toLowerCase
method defined by
Character
, then the original string is returned.
Otherwise, a new string is allocated, such that each character that has a different lowercase version is mapped to this lowercase equivalent.
public String toUpperCase(java.util.Locale locale)
String
to upper
case using the rules of the given locale.
Usually, the characters are converted by calling
Character.toUpperCase
.
Exceptions to this rule are listed in
the following table:
Language Code of Locale | Lower Case | Upper Case | Description |
---|---|---|---|
tr (Turkish) | \u0069 | \u0130 | small letter i -> capital letter I with dot above |
tr (Turkish) | \u0131 | \u0049 | small letter dotless i -> capital letter I |
(all) | \u00df | \u0053 \u0053 | small letter sharp s -> two letters: SS |
locale
- use the case transformation rules for this localepublic String toUpperCase()
String
to upper
case using the rules of the default locale, which is returned
by Locale.getDefault
.
If no character in this string has a different uppercase version,
based on calling the toUpperCase
method defined by
Character
, then the original string is returned.
Otherwise, a new string is allocated, such that each character that has a different uppercase version is mapped to this uppercase equivalent.
public String trim()
All characters that have codes less than or equal to
'\u0020'
(the space character) are considered to be
white space.
public String toString()
public char[] toCharArray()
public static String valueOf(Object obj)
Object
argument.
obj
- an Object
.null
, then a string equal to
"null"
; otherwise, the value of
obj.toString()
is returned.public static String valueOf(char[] data)
char
array
argument.
data
- a char
array.public static String valueOf(char[] data, int offset, int count)
char
array argument.
The offset
argument is the index of the first
character of the subarray. The count
argument
specifies the length of the subarray.
data
- the character array.
offset
- the initial offset into the value of the
String
.
count
- the length of the value of the String
.public static String copyValueOf(char[] data, int offset, int count)
data
- the character array.
offset
- initial offset of the subarray.
count
- length of the subarray.String
that contains the characters of the
specified subarray of the character array.public static String copyValueOf(char[] data)
data
- the character array.String
that contains the characters of the
character array.public static String valueOf(boolean b)
boolean
argument.
b
- a boolean
.true
, a string equal to
"true"
is returned; otherwise, a string equal to
"false"
is returned.public static String valueOf(char c)
char
* argument.
c
- a char
.1
containing
as its single character the argument c
.public static String valueOf(int i)
int
argument.
The representation is exactly the one returned by the
Integer.toString
method of one argument.
i
- an int
.int
argument.public static String valueOf(long l)
long
argument.
The representation is exactly the one returned by the
Long.toString
method of one argument.
l
- a long
.long
argument.public static String valueOf(float f)
float
argument.
The representation is exactly the one returned by the
Float.toString
method of one argument.
f
- a float
.float
argument.public static String valueOf(double d)
double
argument.
The representation is exactly the one returned by the
Double.toString
method of one argument.
d
- a double
.double
argument.public String intern()
If s
and t
are strings such that
s.equals(t)
, it is guaranteed that
s.intern() == t.intern().
Class | Tree | Index | Help | |||
PREV CLASS | NEXT CLASS | FRAMES | NO FRAMES | ||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |