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. Case mapping is based on the Unicode Standard (标准 ) version specified by the Character
class.
The Java language provides (提供 ) special (特别 ) support for the string concatenation (连接 ) operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the StringBuilder
(or 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 .
Unless (除非 ) otherwise (另外 ) noted, passing a null argument to a constructor or method in this class will cause (引起 ) a NullPointerException
to be thrown.
A String
represents a string in the UTF-16 format in which supplementary (增补 ) characters are represented by surrogate pairs (see the section Unicode Character Representations in the Character
class for more information). Index values refer (指 ) to char
code units (单元,单位 ), so a supplementary character uses two positions in a String
.
The 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., char
values).