String类

   在初学java的时候,常常会看到String这个单词,用它来定义长长的字符串,它的首字母大写,可见它是一个类。String类是java中一个特殊的类,主要是为了创建和处理字符串而设计的。

  • String对象的初始化

格式一:直接赋值

String 字符串名 =“字符串内容”;

格式二:使用构造方法

String 字符串名 = new String ("字符串内容")

注意点:格式一用到了缓冲池机制,是java为String类专门提供的一种功能,当直接赋值生成字符串是,java编译器总是先到缓冲池中寻找是否有相同的字符串,如果有,就直接使用,如果没有,就在缓冲池内新建一个新的字符串。

缓冲池就是java 中存放字符串常量和基本类型常量(public static final)的一个区域。常量池的好处是为了避免频繁的创建和销毁对象而影响系统性能,其实现了对象的共享。

例如字符串常量池,在编译阶段就把所有的字符串文字放到一个常量池中。

(1)节省内存空间:常量池中所有相同的字符串常量被合并,只占用一个空间。

(2)节省运行时间:比较字符串时,==比equals()快。对于两个引用变量,只用==判断引用是否相等,也就可以判断实际值是否相等。

  • String不可变的特性

不可变的特性指的是字符串一旦创建就不可以再更改,若要更改String变量引用的字符串,那么只能放弃对原先字符串的引用的,改为对新的字符串的引用。

    1. String str1 = "abc";
    2. String str2 = "abc";
    3. str1 = "bcd";
    4. System.out.println(str1 + "," + str2); //bcd, abc
    5. System.out.println(str1==str2); //false
  • String类的常用方法(超级多)建议查看api文档

 

posted @ 2020-11-19 17:11  dingzhiwen  阅读(79)  评论(0)    收藏  举报