Java String
String
类代表字符串。Java 程序中的所有字符串字面值(如 "abc"
)都作为此类的实例实现。
*The {
@code String} class represents character strings. All
* string literals in Java programs, such as {
@code "abc"}, are
* implemented as instances of this class.
{
@code String} 类表示字符串。
Java 程序中的所有字符串文字,例如 {
@code "abc"},
都被实现为此类的实例。
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。String底层是一个char类型的数组。private final char value[];
例如: "abc"就是String类下的一个具体的对象
String str = "abc";
等效于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);
构造器
底层就是给对象底层的value数组进行赋值操作
String()
初始化一个新创建的 String 对象,使其表示一个空字符序列。
byte[]
系
String(byte[] bytes[, int offset, int length][, Charset charset])
通过使用指定的charset解码(未指定则使用平台默认字符集)指定的 byte 子数组,构造一个新的 String。
- bytes- 要解码为字符的 byte
- offset- 要解码的第一个 byte 的索引
- length- 要解码的 byte 数
- charset- 用来解码 bytes 的 charset
String(byte[] bytes[, int offset, int length], String charsetName)
通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。
charsetName
- 受支持 *charset *的名称
char[]
系
String(char[] value)
分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
String(char[] value, int offset, int count)
分配一个新的 String,它包含取自字符数组参数一个子数组的字符。
- value - 作为字符源的数组
- offset - 初始偏移量
- count - 长度
其他
String(int[] codePoints, int offset, int count)
分配一个新的 String,它包含 Unicode 代码点数组参数一个子数组的字符。
- codePoints - 作为 Unicode 代码点的源的数组。
String(StringBuffer buffer)
分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。
String(StringBuilder builder)
分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。
public static void main(String[] args) {
//通过构造器来创建对象:
String s1 = new String();
String s2 = new String("abc");
String s3 = new String(new char[]{
'a','b','c'});
}
方法
Type | 方法 | 描述 |
---|---|---|
char |
charAt(int index) |
返回指定索引处的 char 值。 |
int |
codePointAt(int index) |
返回指定索引处的字符(Unicode 代码点)。 |
int |
codePointBefore(int index) |
返回指定索引之前的字符(Unicode 代码点)。 |
int |
codePointCount(int beginIndex, int endIndex) |
返回此 String 的指定文本范围中的 Unicode 代码点数。 |
int |
compareTo(String anotherString) |
按字典顺序比较两个字符串。相等则结果为 0 |
int |
compareToIgnoreCase(String str) |
按字典顺序比较两个字符串,不考虑大小写。 |
String |
concat(String str) |
将指定字符串连接到此字符串的结尾。 |
boolean |
contains(CharSequence s) |
当且仅当此字符串包含指定的 char 值序列时,返回 true。 |
boolean |
contentEquals(CharSequence cs) |
将此字符串与指定的 CharSequence 比较。 |
boolean |
contentEquals(StringBuffer sb) |
将此字符串与指定的 StringBuffer 比较。 |
static String |
copyValueOf(char[] data) |
返回指定数组中表示该字符序列的 String。 |
static String |
copyValueOf(char[] data, int offset, int count) |
返回指定数组中表示该字符序列的 String。offset - 子 |