Java字符串

String

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

字符串课程中的常见问题

1、 关于String类的equals()方法

在Object类型中,equals()相当于==,比较的是地址,是否为同一对象。

String类对equals方法进行了重写,比较的是所指向的对象的内容是否相等。

2、关于字符串与字节数组转换过程中使用字符编码的问题

在后面的输入输出流中我们会看到,数据在进行传输时是以二进制的格式进行的,所以会用到将字符串转换完字节数组的内容,而在转换的时候可以指定编码格式。

这里说明一下字节,字节用byte类型表示,1个字节是8个二进制位,byte类型表示的范围是-128到127之间的整数。

从字符串与byte数组间相互转换的例题可以看出,如果编码是GBK格式,则2个byte类型的数据表示一个汉字,如果编码是UTF-8格式,则3个byte类型的数据表示一个汉字。而字母和空格还是用一个字节表示。如:下面是使用UTF-8编码的情况下,字符串“JAVA 编程 基础”对应的byte数据。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法.
charAt()方法返回指定索引位置的char值。索引范围为0~length()-1.
如: str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.

IndexOf()和lastIndexOf()

在这里插入图片描述
用\转义字符可以输出”

字符串与byte数组间的转换

getBytes();方法
在这里插入图片描述
在UTF-8编码格式中,一个汉字用3个字节表示

字符串与byte数组之间的互相转换

==与equal方法比较

在这里插入图片描述
方法compareTo()比较两个字符串大小,返回值是int的值。
在这里插入图片描述
concat()方法介绍:
将几个字符串连接到一起。

例如:
    s = s.concat(str1);//将字符串str1接到字符串s后面
    s = s.concat(str2);//将字符串str1接到字符串s后面

StringBulider

在这里插入图片描述
官方建议用StringBuilder:
在这里插入图片描述

String与StringBuilder的区别及应用场景

区别:

1、 String创建后是不可以修改的,而StringBuilder是可以修改的,代码如下:

在这里插入图片描述
运行效果:
在这里插入图片描述

从结果可以看出,str+“de”并没有改变str的值,这就是字符串的不可变性,进行操作时,字符串自身的内容并没有发生变化。

再来看一下StringBuilder的使用,代码和运行效果如下:

在这里插入图片描述

运行效果:
在这里插入图片描述

可以看到StringBuilder对象的值发生了变化,从abc变成了abcde。

2、String比StringBuilder的执行效率要低,因为在运行时产生一些String对象,这样会耗费一些时间

应用场景:

如果有少量的字符串操作,可以使用String,否则使用StringBuilder

StringBuilder常用方法

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值