第五章 Java中的常用类(String和StringBuffer类)

String和StringBuffer类

什么是字符串?

字符串是在“”(英文双引号)之内的内容,例如“abc”

String和StringBuffer有什么用?

他们可以将字符串封装起来,并且有一系列方法对字符串进行更改查询和排序。其中StringBuffer可以将字符串进行更改,而String不能

String类初始化的语法格式:

public class Example{
    public static void main(String[]args){
        String a = new String();//第一种方法
        String b = new String("abc");//第二种方法
        char[] c=new char[]{'A','B','C'};
        String d = new String(c);//定义数组为字符串
        System.out.println("a"+a+"d");//使用+运算符,将a和d添加到字符串a中
        System.out.println(b);
        System.out.println(c);

在使用运算符+可以实现两个字符串的合并,并且赋给中间的常量。在Java中,如果+的两边操作数有一个是String类型,则+标识字符串连接运算符

String类的常见操作功能描述
int indexOf(int ch) 返回指定字符在此字符串中第一次出现的索引
int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现的索引
int indexOf(String str)返回指定字符串在该字符串中出现的索引
int lastIndexOf(String str)返回指定字符串在该字符串中最后一次出现的索引
char charAt(int index)返回字符串中index上的字符,index取值为0-字符串长度-1
boolean endsWith(String suffix)判断字符串是否以某个字符串为结尾
int length返回此字符串的长度
boolean equals(Object anObject)字符串与子字符串进行比较
boolean isEmpty()查看是否该字符串的长度为0
boolean startsWith(String prefix)查看字符串是否以某个字符串开始
booleans contains(CharSequence cs)查看字符串是否包含某个字符串
String toLowerCase()

将字符串中的字符全部变成小写

String toUpperCase()将字符串中的字符全部变成大写
static String valueOf(int i)返回int参数的字符串表示形式
char[] toCharArray()将字符串转换成一个数组
String replace(CharSequence Oldstr,CharSequence Newstr)将字符串中的Oldstr用Newstr代替
String[] split(String regex)根据参数regex,将字符串划分成若干个子字符串
String trim()将字符串中的所有空格全部清除
String substring(int beginIndex)从beginIndex开始,返回新的字符串
String substring(int beginIndex , int endIndex)从beginIndex到endIndex开始,返回新的字符串
public class Example{
    public static void main(String[]args){
        String a = "wasdasdad";
        System.out.println("该字符串的长度为:"+a.length());
        System.out.println("该字符串是否以w开头"+a.startsWith('w'));
        System.out.println("该字符串中第一次出现s的时候在什么位置"+a.indexOf('s'));
        System.out.println("该字符串中最后一次出现a的时候在什么位置"+a.lastIndexOf('a'));
        System.out.println("该字符串中出现子字符串sd的时候在什么位置"a.indexOf("sd"));

以上为用法。有几个需要注意的点;

1.使用trim方法不能清除所有空格,只能清除前面后面的空格,如果想清除中间的空格,则应该使用replace方法

2.使用vlaueOf()方法可以将int类型的数据转换成字符串,也可以使用valueOf()的重载形式来将float,double等的数据转换成字符串

3.在程序中可以使用==或equals来判断两个字符串是否相等,但是二者有着根本的区别,==是用于比较两个字符串的内存地址是否相同,equals()方法用于比较两个字符串的字符是否相同,不过如果有两个一样的字符串,他们的equals方法一定为true,他们的==一定为false。

4.String在进行获取某个字符时,会用到字符的索引,当访问字符串的字符时,如果字符的索引不存在,则会报错。并且访问字符串中的字符时,索引不能超出字符串长度否则报错。

StringBuffer类的相关操作

前面提到过,String类是final类型的,即String类中的字符串是不可改变的,但是StringBuffer不同,StringBuffer中的字符串的内容和长度是可以改变的。

方法声明功能描述
StringBuffer append(char c)添加字符到StringBuffer的末尾
StringBuffer insert(int offset,String str)在StringBuffer中offset位置插入str字符串
StringBuffer deleteCharAt(int index)移除StringBuffer中指定位置的字符
StringBuffer delete(int start,int end)移除指定范围的字符串
StringBuffer replace(int start,int end,String s)用s替换一定范围的字符串
void setCharAt(int index,char ch)修改在index位置的字符
String toString()返回StringBuffer缓冲区中的字符串对象
StringBuffer reverse()将StringBuffer对象用其反转形式取代

String和StringBuffer的区别

1.String的内容不可改变,StringBuffer的内容可以改变。

2.String可以使用+来合并字符串,StringBuffer不可以。

3.String类可以重写Object类的equals()方法,StringBuffer类不可以。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值