Module java.base
Package java.lang

Class String

java.lang.Object
java.lang.String
All Implemented Interfaces:
Serializable,CharSequence,Comparable<String>,Constable,ConstantDesc

public final classStringextendsObjectimplementsSerializable,Comparable<String>,CharSequence,Constable,ConstantDesc
TheString 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 classString 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 theCharacter class.

The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. For additional information on string concatenation and conversion, seeThe Java Language Specification.

Unless otherwise noted, passing anull argument to a constructor or method in this class will cause aNullPointerException to be thrown.

AString represents a string in the UTF-16 format in whichsupplementary characters are represented bysurrogate pairs (see the sectionUnicode Character Representations in theCharacter class for more information). Index values refer tochar code units, so a supplementary character uses two positions in aString.

TheString class provides methods for dealing with Unicode code points (i.e., characters), in addition to those for dealing with Unicode code units (i.e.,char values).

Unless otherwise noted, methods for comparing Strings do not take locale into account. TheCollator class provides methods for finer-grain, locale-sensitive String comparison.

Implementation Note:
The implementation of the string concatenation operator is left to the discretion of a Java compiler, as long as the compiler ultimately conforms toThe Java Language Specification. For example, thejavac compiler may implement the operator withStringBuffer,StringBuilder, orjava.lang.invoke.StringConcatFactory depending on the JDK version. The implementation of string conversion is typically through the methodtoString, defined byObject and inherited by all classes in Java.
SeeJava Language Specification:
15.18.1 String Concatenation Operator +
Since:
1.0
See Also: