Java记录 -25- String类深度剖析

来源:互联网 发布:怎么查看linux signal 编辑:程序博客网 时间:2024/05/21 11:33

Java中String类深度剖析

1.Java源码中String类的定义:

public final class String extends Object implements Serializable, Comparable<String>, CharSequence

2.String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

3.字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如: String str = "abc";

等效于: char data[] = {'a', 'b', 'c'};     String str = new String(data);

4.String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于 Character 类指定的 Unicode 标准版。

5.Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的。字符串转换是通过 toString 方法实现的,该方法由 Object 类定义,并可被 Java 中的所有类继承。

6.      String ss1 = "hello";
        String ss2 = "world";
        String ss3 = ss1 + ss2;
        System.out.println(ss3);

由于字符串是常量,一旦创建后就不能再改变。ss3和ss1、ss2是三个不同的对象,ss3是新生成的一个对象,不是ss1和ss2拼接成的。因此当使用+拼接字符串时,会生成新的对象,而不是向原有的String对象增加内容。