All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class java.lang.String

java.lang.Object
   |
   +----java.lang.String

public final class String
extends Object
implements Serializable
The 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.

Since:
JDK1.0
See Also:
toString, StringBuffer, append, append, append, append, append, append, append, append, append, append

Constructor Index

 o String()
Allocates a new String containing no characters.
 o String(byte[])
Construct a new String by converting the specified array of bytes using the platform's default character encoding.
 o String(byte[], int)
Allocates a new String containing characters constructed from an array of 8-bit integer values. Deprecated.
 o String(byte[], int, int)
Construct a new String by converting the specified subarray of bytes using the platform's default character encoding.
 o String(byte[], int, int, int)
Allocates a new String constructed from a subarray of an array of 8-bit integer values. Deprecated.
 o String(byte[], int, int, String)
Construct a new String by converting the specified subarray of bytes using the specified character encoding.
 o String(byte[], String)
Construct a new String by converting the specified array of bytes using the specified character encoding.
 o String(char[])
Allocates a new String so that it represents the sequence of characters currently contained in the character array argument.
 o String(char[], int, int)
Allocates a new String that contains characters from a subarray of the character array argument.
 o String(String)
Allocates a new string that contains the same sequence of characters as the string argument.
 o String(StringBuffer)
Allocates a new string that contains the sequence of characters currently contained in the string buffer argument.

Method Index

 o charAt(int)
Returns the character at the specified index.
 o compareTo(String)
Compares two strings lexicographically.
 o concat(String)
Concatenates the specified string to the end of this string.
 o copyValueOf(char[])
Returns a String that is equivalent to the specified character array.
 o copyValueOf(char[], int, int)
Returns a String that is equivalent to the specified character array.
 o endsWith(String)
Tests if this string ends with the specified suffix.
 o equals(Object)
Compares this string to the specified object.
 o equalsIgnoreCase(String)
Compares this String to another object.
 o getBytes()
Convert this String into bytes according to the platform's default character encoding, storing the result into a new byte array.
 o getBytes(int, int, byte[], int)
Copies characters from this string into the destination byte array. Deprecated.
 o getBytes(String)
Convert this String into bytes according to the specified character encoding, storing the result into a new byte array.
 o getChars(int, int, char[], int)
Copies characters from this string into the destination character array.
 o hashCode()
Returns a hashcode for this string.
 o indexOf(int)
Returns the index within this string of the first occurrence of the specified character.
 o indexOf(int, int)
Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index.
 o indexOf(String)
Returns the index within this string of the first occurrence of the specified substring.
 o indexOf(String, int)
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.
 o intern()
Returns a canonical representation for the string object.
 o lastIndexOf(int)
Returns the index within this string of the last occurrence of the specified character.
 o lastIndexOf(int, int)
Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index.
 o lastIndexOf(String)
Returns the index within this string of the rightmost occurrence of the specified substring.
 o lastIndexOf(String, int)
Returns the index within this string of the last occurrence of the specified substring.
 o length()
Returns the length of this string.
 o regionMatches(boolean, int, String, int, int)
Tests if two string regions are equal.
 o regionMatches(int, String, int, int)
Tests if two string regions are equal.
 o replace(char, char)
Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.
 o startsWith(String)
Tests if this string starts with the specified prefix.
 o startsWith(String, int)
Tests if this string starts with the specified prefix.
 o substring(int)
Returns a new string that is a substring of this string.
 o substring(int, int)
Returns a new string that is a substring of this string.
 o toCharArray()
Converts this string to a new character array.
 o toLowerCase()
Converts this String to lowercase.
 o toLowerCase(Locale)
Converts all of the characters in this String to lower case using the rules of the given locale.
 o toString()
This object (which is already a string!) is itself returned.
 o toUpperCase()
Converts this string to uppercase.
 o toUpperCase(Locale)
Converts all of the characters in this String to upper case using the rules of the given locale.
 o trim()
Removes white space from both ends of this string.
 o valueOf(boolean)
Returns the string representation of the boolean argument.
 o valueOf(char)
Returns the string representation of the char * argument.
 o valueOf(char[])
Returns the string representation of the char array argument.
 o valueOf(char[], int, int)
Returns the string representation of a specific subarray of the char array argument.
 o valueOf(double)
Returns the string representation of the double argument.
 o valueOf(float)
Returns the string representation of the float argument.
 o valueOf(int)
Returns the string representation of the int argument.
 o valueOf(long)
Returns the string representation of the long argument.
 o valueOf(Object)
Returns the string representation of the Object argument.

Constructors

 o String
 public String()
Allocates a new String containing no characters.

 o String
 public String(String value)
Allocates a new string that contains the same sequence of characters as the string argument.

Parameters:
value - a String.
 o String
 public String(char value[])
Allocates a new String so that it represents the sequence of characters currently contained in the character array argument.

Parameters:
value - the initial value of the string.
 o String
 public String(char value[],
               int offset,
               int count)
Allocates a new 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.

Parameters:
value - array that is the source of characters.
offset - the initial offset.
count - the length.
Throws: StringIndexOutOfBoundsException
if the offset and count arguments index characters outside the bounds of the value array.
 o String
 public String(byte ascii[],
               int hibyte,
               int offset,
               int count)
Note: String() is deprecated. This method does not properly convert bytes into characters. As of JDK 1.1, the preferred way to do this is via the String constructors that take a character-encoding name or that use the platform's default encoding.

Allocates a new 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.

Parameters:
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.
Throws: StringIndexOutOfBoundsException
if the offset or count argument is invalid.
See Also:
String, String, String, String, String
 o String
 public String(byte ascii[],
               int hibyte)
Note: String() is deprecated. This method does not properly convert bytes into characters. As of JDK 1.1, the preferred way to do this is via the String constructors that take a character-encoding name or that use the platform's default encoding.

Allocates a new 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))
 

Parameters:
ascii - the bytes to be converted to characters.
hibyte - the top 8 bits of each 16-bit Unicode character.
See Also:
String, String, String, String
 o String
 public String(byte bytes[],
               int offset,
               int length,
               String enc) throws UnsupportedEncodingException
Construct a new 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.

Parameters:
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 encoding
Throws: UnsupportedEncodingException
If the named encoding is not supported
 o String
 public String(byte bytes[],
               String enc) throws UnsupportedEncodingException
Construct a new 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.

Parameters:
bytes - The bytes to be converted into characters
enc - A character-encoding name
Throws: UnsupportedEncodingException
If the named encoding is not supported
 o String
 public 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. The length of the new String is a function of the encoding, and hence may not be equal to the length of the subarray.

Parameters:
bytes - The bytes to be converted into characters
offset - Index of the first byte to convert
length - Number of bytes to convert
 o String
 public String(byte bytes[])
Construct a new 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.

Parameters:
bytes - The bytes to be converted into characters
 o String
 public String(StringBuffer buffer)
Allocates a new string that contains the sequence of characters currently contained in the string buffer argument.

Parameters:
buffer - a StringBuffer.

Methods

 o length
 public int length()
Returns the length of this string. The length is equal to the number of 16-bit Unicode characters in the string.

Returns:
the length of the sequence of characters represented by this object.
 o charAt
 public char charAt(int index)
Returns the character at the specified index. An index ranges from 0 to length() - 1.

Parameters:
index - the index of the character.
Returns:
the character at the specified index of this string. The first character is at index 0.
Throws: StringIndexOutOfBoundsException
if the index is out of range.
 o getChars
 public void getChars(int srcBegin,
                      int srcEnd,
                      char dst[],
                      int dstBegin)
Copies characters from this string into the destination character array.

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
 

Parameters:
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.
Throws: StringIndexOutOfBoundsException
If srcBegin or srcEnd is out of range, or if srcBegin is greater than the srcEnd.
 o getBytes
 public void getBytes(int srcBegin,
                      int srcEnd,
                      byte dst[],
                      int dstBegin)
Note: getBytes() is deprecated. This method does not properly convert characters into bytes. As of JDK 1.1, the preferred way to do this is via the getBytes(String enc) method, which takes a character-encoding name, or the getBytes() method, which uses the platform's default encoding.

Copies characters from this string into the destination byte array. Each byte receives the 8 low-order bits of the corresponding character.

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
 

Parameters:
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.
Throws: StringIndexOutOfBoundsException
if srcBegin or srcEnd is out of range, or if srcBegin is greater than srcEnd.
 o getBytes
 public byte[] getBytes(String enc) throws UnsupportedEncodingException
Convert this String into bytes according to the specified character encoding, storing the result into a new byte array.

Parameters:
enc - A character-encoding name
Returns:
The resultant byte array
Throws: UnsupportedEncodingException
If the named encoding is not supported
 o getBytes
 public byte[] getBytes()
Convert this String into bytes according to the platform's default character encoding, storing the result into a new byte array.

Returns:
the resultant byte array.
 o equals
 public boolean equals(Object anObject)
Compares this string to the specified object. The result is 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.

Parameters:
anObject - the object to compare this String against.
Returns:
true if the String are equal; false otherwise.
Overrides:
equals in class Object
See Also:
compareTo, equalsIgnoreCase
 o equalsIgnoreCase
 public boolean equalsIgnoreCase(String anotherString)
Compares this String to another object. The result is 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:

Two sequences of characters are the same, ignoring case, if the sequences have the same length and corresponding characters are the same, ignoring case.

Parameters:
anotherString - the String to compare this String against.
Returns:
true if the Strings are equal, ignoring case; false otherwise.
See Also:
toLowerCase, toUpperCase
 o compareTo
 public int compareTo(String anotherString)
Compares two strings lexicographically. The comparison is based on the Unicode value of each character in the strings.

Parameters:
anotherString - the String to be compared.
Returns:
the value 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.
 o regionMatches
 public boolean regionMatches(int toffset,
                              String other,
                              int ooffset,
                              int len)
Tests if two string regions are equal.

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.

Parameters:
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.
Returns:
true if the specified subregion of this string exactly matches the specified subregion of the string argument; false otherwise.
 o regionMatches
 public boolean regionMatches(boolean ignoreCase,
                              int toffset,
                              String other,
                              int ooffset,
                              int len)
Tests if two string regions are equal.

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.

Parameters:
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.
Returns:
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.
 o startsWith
 public boolean startsWith(String prefix,
                           int toffset)
Tests if this string starts with the specified prefix.

Parameters:
prefix - the prefix.
toffset - where to begin looking in the string.
Returns:
true if the character sequence represented by the argument is a prefix of the substring of this object starting at index toffset; false otherwise.
 o startsWith
 public boolean startsWith(String prefix)
Tests if this string starts with the specified prefix.

Parameters:
prefix - the prefix.
Returns:
true if the character sequence represented by the argument is a prefix of the character sequence represented by this string; false otherwise.
 o endsWith
 public boolean endsWith(String suffix)
Tests if this string ends with the specified suffix.

Parameters:
suffix - the suffix.
Returns:
true if the character sequence represented by the argument is a suffix of the character sequence represented by this object; false otherwise.
 o hashCode
 public int hashCode()
Returns a hashcode for this string.

Returns:
a hash code value for this object.
Overrides:
hashCode in class Object
 o indexOf
 public int indexOf(int ch)
Returns the index within this string of the first occurrence of the specified character.

Parameters:
ch - a character.
Returns:
the index of the first occurrence of the character in the character sequence represented by this object, or -1 if the character does not occur.
 o indexOf
 public 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.

Parameters:
ch - a character.
fromIndex - the index to start the search from.
Returns:
the index of the first occurrence of the character in the character sequence represented by this object that is greater than or equal to fromIndex, or -1 if the character does not occur.
 o lastIndexOf
 public int lastIndexOf(int ch)
Returns the index within this string of the last occurrence of the specified character. The String is searched backwards starting at the last character.

Parameters:
ch - a character.
Returns:
the index of the last occurrence of the character in the character sequence represented by this object, or -1 if the character does not occur.
 o lastIndexOf
 public 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.

Parameters:
ch - a character.
fromIndex - the index to start the search from.
Returns:
the index of the last occurrence of the character in the character sequence represented by this object that is less than or equal to fromIndex, or -1 if the character does not occur before that point.
 o indexOf
 public int indexOf(String str)
Returns the index within this string of the first occurrence of the specified substring.

Parameters:
str - any string.
Returns:
if the string argument occurs as a substring within this object, then the index of the first character of the first such substring is returned; if it does not occur as a substring, -1 is returned.
 o indexOf
 public 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.

Parameters:
str - the substring to search for.
fromIndex - the index to start the search from.
Returns:
If the string argument occurs as a substring within this object at a starting index no smaller than 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.
 o lastIndexOf
 public int lastIndexOf(String str)
Returns the index within this string of the rightmost occurrence of the specified substring. The rightmost empty string "" is considered to occur at the index value this.length().

Parameters:
str - the substring to search for.
Returns:
if the string argument occurs one or more times as a substring within this object, then the index of the first character of the last such substring is returned. If it does not occur as a substring, -1 is returned.
 o lastIndexOf
 public int lastIndexOf(String str,
                        int fromIndex)
Returns the index within this string of the last occurrence of the specified substring. The returned index indicates the start of the substring, and it must be equal to or less than fromIndex.

Parameters:
str - the substring to search for.
fromIndex - the index to start the search from.
Returns:
If the string argument occurs one or more times as a substring within this object at a starting index no greater than 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.
 o substring
 public String substring(int beginIndex)
Returns a new string that is a substring of this string. The substring begins at the specified index and extends to the end of this string.

Parameters:
beginIndex - the beginning index, inclusive.
Returns:
the specified substring.
Throws: StringIndexOutOfBoundsException
if the beginIndex is out of range.
 o substring
 public String substring(int beginIndex,
                         int endIndex)
Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1.

Parameters:
beginIndex - the beginning index, inclusive.
endIndex - the ending index, exclusive.
Returns:
the specified substring.
Throws: StringIndexOutOfBoundsException
if the beginIndex or the endIndex is out of range.
 o concat
 public String concat(String str)
Concatenates the specified string to the end of this string.

If the length of the argument string is 0, then this object is returned.

Parameters:
str - the String that is concatenated to the end of this String.
Returns:
a string that represents the concatenation of this object's characters followed by the string argument's characters.
 o replace
 public String replace(char oldChar,
                       char newChar)
Returns a new string resulting from replacing all occurrences of 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.

Parameters:
oldChar - the old character.
newChar - the new character.
Returns:
a string derived from this string by replacing every occurrence of oldChar with newChar.
 o toLowerCase
 public String toLowerCase(Locale locale)
Converts all of the characters in this String to lower case using the rules of the given locale.

Parameters:
locale - use the case transformation rules for this locale
Returns:
the String, converted to lowercase.
See Also:
toLowerCase, toUpperCase
 o toLowerCase
 public String toLowerCase()
Converts this String to lowercase.

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, whose length is identical to this string, and such that each character that has a different lowercase version is mapped to this lowercase equivalent.

Returns:
the string, converted to lowercase.
See Also:
toLowerCase, toUpperCase
 o toUpperCase
 public String toUpperCase(Locale locale)
Converts all of the characters in this String to upper case using the rules of the given locale.

Parameters:
locale - use the case transformation rules for this locale
Returns:
the String, converted to uppercase.
See Also:
toUpperCase, toLowerCase
 o toUpperCase
 public String toUpperCase()
Converts this string to uppercase.

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, whose length is identical to this string, and such that each character that has a different uppercase version is mapped to this uppercase equivalent.

Returns:
the string, converted to uppercase.
See Also:
toUpperCase, toLowerCase
 o trim
 public String trim()
Removes white space from both ends of this string.

All characters that have codes less than or equal to '\u0020' (the space character) are considered to be white space.

Returns:
this string, with white space removed from the front and end.
 o toString
 public String toString()
This object (which is already a string!) is itself returned.

Returns:
the string itself.
Overrides:
toString in class Object
 o toCharArray
 public char[] toCharArray()
Converts this string to a new character array.

Returns:
a newly allocated character array whose length is the length of this string and whose contents are initialized to contain the character sequence represented by this string.
 o valueOf
 public static String valueOf(Object obj)
Returns the string representation of the Object argument.

Parameters:
obj - an Object.
Returns:
if the argument is null, then a string equal to "null"; otherwise, the value of obj.toString() is returned.
See Also:
toString
 o valueOf
 public static String valueOf(char data[])
Returns the string representation of the char array argument.

Parameters:
data - a char array.
Returns:
a newly allocated string representing the same sequence of characters contained in the character array argument.
 o valueOf
 public static String valueOf(char data[],
                              int offset,
                              int count)
Returns the string representation of a specific subarray of the 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.

Parameters:
data - the character array.
offset - the initial offset into the value of the String.
count - the length of the value of the String.
Returns:
a newly allocated string representing the sequence of characters contained in the subarray of the character array argument.
 o copyValueOf
 public static String copyValueOf(char data[],
                                  int offset,
                                  int count)
Returns a String that is equivalent to the specified character array. It creates a new array and copies the characters into it.

Parameters:
data - the character array.
offset - initial offset of the subarray.
count - length of the subarray.
Returns:
a String that contains the characters of the specified subarray of the character array.
 o copyValueOf
 public static String copyValueOf(char data[])
Returns a String that is equivalent to the specified character array. It creates a new array and copies the characters into it.

Parameters:
data - the character array.
Returns:
a String that contains the characters of the character array.
 o valueOf
 public static String valueOf(boolean b)
Returns the string representation of the boolean argument.

Parameters:
b - a boolean.
Returns:
if the argument is true, a string equal to "true" is returned; otherwise, a string equal to "false" is returned.
 o valueOf
 public static String valueOf(char c)
Returns the string representation of the char * argument.

Parameters:
c - a char.
Returns:
a newly allocated string of length 1 containing as its single character the argument c.
 o valueOf
 public static String valueOf(int i)
Returns the string representation of the int argument.

The representation is exactly the one returned by the Integer.toString method of one argument.

Parameters:
i - an int.
Returns:
a newly allocated string containing a string representation of the int argument.
See Also:
toString
 o valueOf
 public static String valueOf(long l)
Returns the string representation of the long argument.

The representation is exactly the one returned by the Long.toString method of one argument.

Parameters:
l - a long.
Returns:
a newly allocated string containing a string representation of the long argument.
See Also:
toString
 o valueOf
 public static String valueOf(float f)
Returns the string representation of the float argument.

The representation is exactly the one returned by the Float.toString method of one argument.

Parameters:
f - a float.
Returns:
a newly allocated string containing a string representation of the float argument.
See Also:
toString
 o valueOf
 public static String valueOf(double d)
Returns the string representation of the double argument.

The representation is exactly the one returned by the Double.toString method of one argument.

Parameters:
d - a double.
Returns:
a newly allocated string containing a string representation of the double argument.
See Also:
toString
 o intern
 public native String intern()
Returns a canonical representation for the string object.

If s and t are strings such that s.equals(t), it is guaranteed that
s.intern() == t.intern().

Returns:
a string that has the same contents as this string, but is guaranteed to be from a pool of unique strings.

All Packages  Class Hierarchy  This Package  Previous  Next  Index

Submit a bug or feature