2023.3.20

String类

String类的特点

在Java中,所有双引号字符串,都是String这个类的对象

字符串在创建之后,其内容不可改变

String字符串虽然不可改变,但是可以被共享——>

字符串常量池:当我们使用双引号创建字符串对象时,会检查常量池中是否存在该数据

不存在:创建

存在:复用

String类的常见面试题
  1. true, String类型的字符串对象在被声明时,会在字符串常量池检查是否存在该字符串,如果存在,就直接把第一个的地址赋给需要声明的对象,如果不存在,才会开辟新的内存地址创建对象

  1. false,s1在内存中创建一个对象。s2在内存中创建两个对象。s1在创建时会在堆内存的StringTable中创建常量,而s2在创建时,会在堆内存中开辟一块新的地址保存对象

  1. false,先检查字符串常量中是否存在"abc","ab","c",这三个对象,没有就创建,然后通过StringBuilder将两个字符串拼接起来,通过toString方法转换成String类型的对象,然后s3真正访问的是String的地址,而不是StringBuilder的地址

  1. true,“a”,”b”,”c”三个本来就是字符串常量,进行+符号拼接之后变成了“abc”(Java中有常量优化机制),“abc”本身就是字符串常量,所以两者比较会相等

字符串的遍历

toCharArray:将一个字符串转换为一个字符数组,再进行遍历操作

ps:如果定义的方法和主方法是平级的,需要带static,反之则不带

对象.charAt(int index)返回指定索引处的char值

String类的截取

subString(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串

subString(int beginIndex,int endIndex ):返回一个新的字符串,它是此字符串的一个子字符串

String类的替换—>切割

替换: replace(旧值,新值)

切割: spilt("切掉的值"), **. ** —>代表通配符, \. 则代表 **. ** 本身

StringBuilder

作用:提高字符串的操作效率

StringBuilder介绍

StringBuilder是字符串缓冲区,将其理解成容器,这个容器可以存储任意数据类型,但是只要进入到这个容器,就全部变成字符串

StringBuilder是一种可变的字符序列

StringBuilder的构造方法:

空参构造:

StringBuilder():创建一个空白的字符串缓冲区(容器),其初始容量为16个字符,超过该容量会自动扩容—>动态初始化

带参构造:

StringBuilder(String str):创建一个字符串缓冲区,并初始化好指定的参数内容—>静态初始化

StringBuilder常用成员方法

append:添加数据,并返回自己

链式编程:调用的方法,返回结果是对象时,就可以继续向下调用方法

reverse: 将缓冲区中的内容进行反转,返回自己

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值