String类常用方法

String类的特点:字符串对象一旦被初始化就不会被改变

String s="abc" 不等于 String s=new String("abc")  前者是在字符串常量池中创建一个字符串对象,后者是在堆内存中创建两个对象,一个new  一个是字符串对象

构造函数

1.将字节数组变成字符串

byte [] arr={97,66,67,68}
String s=new String(arr)
//结果 s=aBCD   这是根据ASCII码表的十进制数得到的对应字符
获取指定的字符串
String t=new String(arr,1,3)
//结果 t=BCD 第二个参数:开始获取的位置  第三个参数:获取的个数

2.将字符数组变成字符串

char[] arr={'w','a','p','q'}
String s=new String(arr)
//结果 s=wapq
获取指定的字符串
String t=new String(arr,1,3)
//结果  t=apq

 

一般方法

一:获取

1.获取字符串的个数(长度)

String str="bcdhubcds";
System.out.println(str.length());
//结果  9

2.根据位置获取字符

String str="bcdhubcds";
System.out.println(str.charAt(3));
//结果  h

3.获取在字符串中第一次出现的位置,找不到返回-1

String str="bcdshubcds";
System.out.println(str.indexOf('c'));   //1
System.out.println(str.indexOf('c',3)); //从指定位置角标3开始查 结果7
System.out.println(str.indexOf("ds"));  //2
System.out.println(str.indexOf("ds",5));  //8

4.获取在字符串中最后一次出现的位置,找不到返回-1

String str="bcdshubcds";
System.out.println(str.lastIndexOf('c'));   //7
System.out.println(str.lastIndexOf('c',5));   //从第五个位置往前查找c最后出现的位置   结果1
System.out.println(str.lastIndexOf("ds"));  //8
System.out.println(str.lastIndexOf("ds",5));  //2

5.获取字符串中一部分字符串

String str="bcdshubcds";
System.out.println(str.substring(3)); //从第角标3到结束  结果:shubcds
System.out.println(str.substring(3,6));//从第角标3开始到角标5结束,不包含角标6  结果:shu

二:转换

1.将字符串变成字符串数组(字符串切割)

String s="张三,李四,王五";
String[] arr=s.split(","); //如果涉及到正则需要进行转意
for (int i=0;i<arr.length;i++){
      System.out.print("arr["+i+"]="+arr[i]+" ");  //结果:arr[0]=张三 arr[1]=李四 arr[2]=王五
}

2.将字符串变成字符数组

String s="张三,李四,王五";
char[] arr=s.toCharArray(); 
 for (int i=0;i<arr.length;i++){
      System.out.print("arr["+i+"]="+arr[i]+" ");  //结果:arr[0]=张 arr[1]=三 arr[2]=, arr[3]=李 arr[4]=四 arr[5]=, arr[6]=王 arr[7]=五
}

3.将字符串变成字节数组

 String s="ab";
byte[] arr=s.getBytes();//查ASCII码表
for (int i=0;i<arr.length;i++){
      System.out.print("arr["+i+"]="+arr[i]+" ");  //结果:arr[0]=97 arr[1]=98
}

4。将字符串中的字母转换大小写

String s="abcfSAGccGP";
System.out.println(s.toUpperCase());//大写 结果:ABCFSAGCCGP
System.out.println(s.toLowerCase());//小写 结果:abcfsagccgp

5.将字符串中的内容替换

String s="abcf";
System.out.println(s.replace('a','v'));//结果:vbcf
System.out.println(s.replace("ab","tt"));//结果:ttcf

6.将字符串两端的空格去除

String s="   a  b cf   ";
System.out.println(s.trim());//结果:a  b cf

7.将字符串链接

String s="as";
System.out.println(s.concat("qq"));//结果:asqq  等效于加号

三:判断

1.比较两个字符串内容是否相同

String s="as";
String str="As";
System.out.println(s.equals(str));//结果:false  重写了Object中的方法
System.out.println(s.equalsIgnoreCase(str));//结果:true  忽略大小写比较

2.字符串中是否包含指定字符串

String s="asfrizxzc";
System.out.println(s.contains("riz"));//结果:true

3.判断字符串是否以指定字符串开头或结尾

String s="asfrizxzc";
System.out.println(s.startsWith("ad"));//结果:false
System.out.println(s.endsWith("zc"));//结果:true

4.按字典顺序比较两个字符串

String s="ac";
System.out.println(s.compareTo("ab"));//结果:1  等于返回0,小于返回小于0的数,大于返回大于0的数

 

转载于:https://www.cnblogs.com/futureyearn/p/11536593.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值