JavaSE 字符串

API

API 概述

API(Application Programming Interface):应用程序编程接口
Java API:指的就是 JDK 中提供的各种功能的 Java 类
这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,
只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。

String

String 概述

String 类在 java.lang 包下,所以使用的时候不需要导包
String 类代表 字符串,Java 程序中的所有字符串文字(例如:“ABC”)都被实现为此类的实例,也就是说, Java 程序中所有的双引号字符串,都是 String 类的对象
字符串的特点:

  • 字符串不可变,它们的值在创建后不能被改变
  • 虽然 String 的值是不可变的,但是它们的值可以被共享
  • 字符串效果上相当于字符数组( char[ ] ),但是底层原理是字节数组( byte[ ] )

String 构造方法

String 构造方法

String 对象的特点

  1. 通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同
char[] chs = {'A','B','C'};
String s1 = new String(chs);
String s2 = new String(chs);

上面的代码中,JVM 会首先创建一个字符数组,然后每一次 new 的时候都会有一个新的地址,只不过 s1 和 s2 参考的字符串内容是相同的
2. 以 " " 方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会创建一个 String 对象,并在字符串池中维护

String s3 = "ABC";
String s4 = "ABC";

上面的代码中,针对第一行代码,JVM 会建立一个 String 对象放在字符串池中,并给 s3 参考;
第二行则让 s4 直接参考字符串池中的 String 对象,也就是说它们本质上是同一个对象

字符串的比较

使用 == 做比较

  • 基本类型:比较的是 数据值 是否相同
  • 引用类型:比较的是 地址值 是否相同

字符串是对象,它比较内容是否相同,是通过 equals() 方法来实现的

  • public boolean equals(Object anObject): 将此字符串与指定对象进行比较。由于我们比较的是字符串对象,所以参数直接传递一个字符串

通过帮助文档查看 String 中的方法

在String1

StringBuilder

StringBuilder 概述

StringBuilder 是一个可变的字符串类,可以把它看成是一个容器,这里的可变是指 StringBuilder 对象中的内容是可变的

String 和 StringBuilder 的区别:

  • String:内容是不可变的
  • StringBuilder:内容是可变的

StringBuilder 的构造方法

StringBuild构造方法

StringBuilder 的添加和反转方法

StringBuilder1

String 和 StringBuilder 的相互转换

  1. StringBuild 转换为 String
    public String toString():通过 toString() 就可以实现吧 StringBuilder 转换为 String
  2. String 转换为 StringBuilder
    public StringBuilder(String s): 通过构造方法就可以实现把 String 转换为 StringBuilder

通过帮助文档查看 StringBuilder 中的方法

StringBuilder2


版权声明:本文为m0_46651512原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。