String

概述

image.png

String构造方法

image.png
image.png

String对象的特点

image.png
image.png
image.png

字符串的比较

使用==作比较

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

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

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

image.png
练习:
用户登录https://www.bilibili.com/video/BV18J411W7cE?p=121
遍历字符串https://www.bilibili.com/video/BV18J411W7cE?p=122
统计字符次数https://www.bilibili.com/video/BV18J411W7cE?p=123

StringBuilder

如果对字符串进行拼接操作,每次拼接,都会构建一个新的Stig对象,既耗时,又浪费内存空间,而这种操作还不可避免。那么有没有一种比较好的方式可以解决这个问题呢?答案是肯定的,我们可以通过Java提供的String Builder类就来解决这个问题。

StringBuilder是一个内容可变的字符串类,可以看做一个容器
String和StringBuilder的区别:

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

构造方法

public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象

创建对象
StringBuilder sb = new StringBuilder(); 有参或无参

添加数据方法:
sb.append(“….”): 返回的是一个对象,自己本身也改变,因此可以链式编程:
sb.append(”…”).append(“…”).append(“…”)

反转方法:sb.reserve();

StringBuilder和String的相互转换

StringBuilder——>String:
StringBuilder sb = new StringBuilder();
String s = sb.toString();

String——>StringBuilder:
String s = “hello”;
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);