String

The {@code String} class represents character strings. All string literals in Java programs, such as {@code "abc"}, are implemented as instances of this class. <p> 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: <blockquote><pre> String str = "abc"; </pre></blockquote><p> is equivalent to: <blockquote><pre> char data[] = {'a', 'b', 'c'}; String str = new String(data); </pre></blockquote><p> Here are some more examples of how strings can be used: <blockquote><pre> System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2); </pre></blockquote> <p> The class {@code 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. Case mapping is based on the Unicode Standard version specified by the {@link java.lang.Character Character} class. <p> The Java language provides special support for the string concatenation operator (&nbsp;+&nbsp;), and for conversion of other objects to strings. For additional information on string concatenation and conversion, see <i>The Java&trade; Language Specification</i>.

<p> Unless otherwise noted, passing a {@code null} argument to a constructor or method in this class will cause a {@link NullPointerException} to be thrown.

<p>A {@code String} represents a string in the UTF-16 format in which <em>supplementary characters</em> are represented by <em>surrogate pairs</em> (see the section <a href="Character.html#unicode">Unicode Character Representations</a> in the {@code Character} class for more information). Index values refer to {@code char} code units, so a supplementary character uses two positions in a {@code String}. <p>The {@code String} class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e., {@code char} values).

<p>Unless otherwise noted, methods for comparing Strings do not take locale into account. The {@link java.text.Collator} class provides methods for finer-grain, locale-sensitive String comparison.

@implNote The implementation of the string concatenation operator is left to the discretion of a Java compiler, as long as the compiler ultimately conforms to <i>The Java&trade; Language Specification</i>. For example, the {@code javac} compiler may implement the operator with {@code StringBuffer}, {@code StringBuilder}, or {@code java.lang.invoke.StringConcatFactory} depending on the JDK version. The implementation of string conversion is typically through the method {@code toString}, defined by {@code Object} and inherited by all classes in Java.

@author Lee Boynton @author Arthur van Hoff @author Martin Buchholz @author Ulf Zibis @see java.lang.Object#toString() @see java.lang.StringBuffer @see java.lang.StringBuilder @see java.nio.charset.Charset @jls 15.18.1 String Concatenation Operator +

Constructors

this
this()
Undocumented in source.
this
this(string value)
Undocumented in source.

Members

Functions

getBytes
byte[] getBytes()

Encodes this {@code String} into a sequence of bytes using the platform's default charset, storing the result into a new byte array.

toLowerCase
String toLowerCase()

Converts all of the characters in this {@code String} to lower case using the rules of the default locale. This is equivalent to calling {@code toLowerCase(Locale.getDefault())}. <p> <b>Note:</b> This method is locale sensitive, and may produce unexpected results if used for strings that are intended to be interpreted locale independently. Examples are programming language identifiers, protocol keys, and HTML tags. For instance, {@code "TITLE".toLowerCase()} in a Turkish locale returns {@code "t\u005Cu0131tle"}, where '\u005Cu0131' is the LATIN SMALL LETTER DOTLESS I character. To obtain correct results for locale insensitive strings, use {@code toLowerCase(Locale.ROOT)}.

toUpperCase
String toUpperCase()

Converts all of the characters in this {@code String} to upper case using the rules of the default locale. This method is equivalent to {@code toUpperCase(Locale.getDefault())}. <p> <b>Note:</b> This method is locale sensitive, and may produce unexpected results if used for strings that are intended to be interpreted locale independently. Examples are programming language identifiers, protocol keys, and HTML tags. For instance, {@code "title".toUpperCase()} in a Turkish locale returns {@code "T\u005Cu0130TLE"}, where '\u005Cu0130' is the LATIN CAPITAL LETTER I WITH DOT ABOVE character. To obtain correct results for locale insensitive strings, use {@code toUpperCase(Locale.ROOT)}.

Static functions

valueOf
String valueOf(Object obj)

Returns the string representation of the {@code Object} argument.

Meta