Java的常用类(四)

一、String类(重点)

(一)描述:

1、字符串是由多个字符组成的一串数据(字符序列)
2、字符串可以看成是字符数组
3、属于java.lang包,不需要导包

*(二)String的不可变特性:

String中包含了一个private和final的char数组
长度->final修饰的数组,数组长度不变,final修饰的数组地址也不变
内容->private修饰的属性,不能在类的外部访问

(三)构造方法:

1、public String();空构造
2、public String(byte[] bytes)把字节数组转成字符串(先变char,在变String)
3、public String(byte[] bytes,int offset,int length)把字节数组的一部分转成字符串
4、public String(char[] value)把字符数组转成字符串(将每个char元素拼接成String)
5、public String(char[] value,int offset,int length)把字节数组的一部分转成字符串

(四)常用方法:(需要牢记)

1、判断功能:

(1)boolean equals(Object obj);比较字符串内容是否相同,区分大小写
(2)boolean equalsIgnoreCase(String str);比较字符串内容是否相同,忽略大小写
(3)boolean contains(String str);判断大写字符串中是否包含小写字符串
(4)boolean startsWith(String str);判断字符串是否以某个指定的字符串开头
(5)boolean endsWith(String str);判断字符串是否以某个指定的字符串结尾
(6)boolean isEmpty();判断字符串内容是否为空
注意:字符串内容为空和字符串对象为空不一样
String s = " ";(这是字符串内容为空)
String s = null;(这是字符串的对象为空)

2、获取功能:

(1)int length();获取字符串的长度
(2)char charAt(int index);获取指定索引位置的字符
(3)int indexof(int ch);返回指定字符在此字符串中第一次出现处的索引
(4)int indexof(String str,int fromIndex);返回指定字符串在此字符串中从指定位置后第一次出现出的索引
(5)String substring(int start);从指定位置开始截取字符串,默认到结尾
(6)String substring(int start,int end);从指定位置开始到指定位置结束截取字符串,包start不包end

3、转换功能:

(1)byte[] getBytes();把字符串转换为字节数组
(2)char[] tocharArray();把字符串转换为字符数组
(3)static String valueof(char[] chs);把字符数组转换为字符串
(4)static String valueof(int i);把int类型的数据转成字符串
(5)String concat(String str);把字符串拼接起来

4、替换功能:

(1)String replace(char old,char new);
(2)String replace(String old,String new);
(3)String trim();去掉字符串两端的空格
(4)int compareTo(String str);(按照Unicode编码索引顺序查找)
*注意:
按照两个字符串长度较短的作为比较次数
挨个比较,若循环内有结果,输出
若无结果,length相减
若length相等,则输出0
String s = new String("hello")和String s = "hello"区别
前者创建了2个对象,后者创建1个对象

二、StringBuffer

(一)构造方法:

public StringBuffer();无参数构造方法
public StringBuffer(int capacity);指定容量的字符串缓冲区对象
public StringBuffer(String str);指定字符串的字符串缓冲区对象

(二)常用方法:

1、自身方法:

public int capacity();返回当前容量(理论值)
pubic int length();返回长度(实际值)

2、添加功能:

public StringBuffer append(String str);可以把任意类型添加到字符串缓冲区中
public StringBuffer insert(int offset, String str);在指定位置插入任意类型数据

3、删除功能:

public StringBuffer deleteCharAT(int index);删除指定位置的字符,并返回本身
public StringBuffer delete(int start, int end);删除从指定位置开始到指定位置结束的内容

4、替换功能:

public StringBuffer replace(int start, int end, String str);从start开始到end结束用str替换

5、反转功能:

public StringBuffer reverse();

6、截取功能:

public String substring(int start);
public String substring(int start, int end);

**三、重点总结

(一)*String,StringBuffer和StringBuilder区别:

1、String是内容不可变的,而StringBuffer和StringBuilder的内容都是可变的
2、StringBuffer是同步的,数据安全的,效率低,StringBuilder是不同步的,数据不安全,效率高的

(二)String的总结:

1、在字符串不经常发生变化的业务场景优先使用String(代码更清晰简洁)。
2、在单线程情况下,如有大量的字符串操作情况,应该使用StringBuilder来操作字符串。
3、在多线程情况下,如有大量的字符串操作情况,应该使用StringBuffer。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z.haoui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值