Java-String类

本文详细介绍了Java中String的特性,如不可变性、比较方法(equals、compareTo、compareToIgnoreCase)、查找、转换与操作(数值到字符串、字符串格式化、替换、拆分),以及StringBuilder和StringBuffer的区别,强调了避免直接修改String的效率问题。
摘要由CSDN通过智能技术生成

String 类


字符串构造
在这里插入图片描述


String是引用类型,内部并不存储字符串本身
在这里插入图片描述


在这里插入图片描述
s1和s3引用的是同一对象
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


String对象的比较

= = == ==比较是否引用同一个对象
对于引用类型变量, = = == ==比较两个引用变量引用的是否为同一个对象
在这里插入图片描述


boolean equals(Object anObject) 方法:按照字典序比较
在这里插入图片描述


int compareTo(String s) 方法

  1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值
  2. 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值
    在这里插入图片描述

int compareToIgnoreCase(String str) 方法:与compareTo方式相同,但是忽略大小写比较
在这里插入图片描述


字符串查找
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


数值和字符串转化
在这里插入图片描述
在这里插入图片描述


大小写转换
在这里插入图片描述


字符串和数组的转换
在这里插入图片描述


格式化
在这里插入图片描述


字符串替换
使用一个指定的新的字符串替换掉已有的字符串数据

在这里插入图片描述
在这里插入图片描述
由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串.


字符串拆分
可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字符"|“,”*“,”+“都得加上转义字符,前面加上 “\”
如果是 “” ,那么就得写成 “\\” (两个斜杠表示一个斜杆)
如果一个字符串中有多个分隔符,可以用”|"作为连字符
在这里插入图片描述
多次拆分
在这里插入图片描述


字符串截取
从一个完整的字符串之中截取出部分内容
在这里插入图片描述
在这里插入图片描述
索引从0开始
注意前闭后开区间的写法, substring(0, 5) 表示包含 0 号下标的字符, 不包含 5 号下标


字符串的不可变性
String是一种不可变对象. 字符串中的内容是不可改变
原因如下:
在这里插入图片描述


String类被final修饰,表明该类不能被继承
网上有些人说:字符串不可变是因为其内部保存字符的数组被final修饰了,因此不能改变。这种说法是错误的,
final修饰类表明该类不想被继承,final修饰引用类型表明该引用变量不能引用其他对象,但是其引用对象中的内
容是可以修改的。
在这里插入图片描述
在这里插入图片描述


字符串修改
注意:尽量避免直接对String类型对象进行修改,因为String类是不能修改的,所有的修改都会创建新对象,效率
非常低下。
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述
!在这里插入图片描述


StringBuilder和StringBuffer
这两个类大部分功能是相同的,这里介绍 StringBuilder常用的一些方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
String和StringBuilder最大的区别在于String的内容无法修改,而StringBuilder的内容可以修改。
String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:在这里插入图片描述


String、StringBuffer、StringBuilder的区别
String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.
StringBuffer与StringBuilder大部分功能是相似的
StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全操


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值