JavaString\StringBuilder\StringBuffer

String对象是不可修改的,字符串一旦创建,就不能再修改内容;

String类有13个构造方法以及40多个处理字符串的方法——

构造字符串

创建字符串的方法—— 

  1. 使用字符序列作为构造方法的参数创建字符串对象
    String mystring=new String("this is my new String");

     

  2. 使用字符串字面值直接创建字符串对象
    String myString="this is my new String"

     

  3.  使用字符数组创建字符串对象
    char[] mycharArray={'t','h','i','s'};
    String myString=new String(mycharArray);

     

不可变字符串与驻留字符串

JVM中对于相同字符序列的字符串使用同一个字符串对象存储(因为字符串是不变的,且经常使用),这样的实例对象称为主流的字符串; 如:
 

String s1="this is myString";
String s2="this is myString";
String s3=new String("This is myString");
s1==s2;
s1==s3;

上面的代码中,s1==s2为true;s1==s3为false;

原因就是s1和s2指向相同的驻留字符串,而s1和s3不是同一个字符串对象;

替换和分拆字符串

Sting类提供了替换和分拆字符串的方法——

replace(oldchar,newchar)//将字符串中的oldchar替换为newchar
replaceFirst(oldSring,newString)//将字符串中第一个匹配的子串替换为newString;
replaceAll(oldStriing,newString)//将字符串中所有匹配的子串替换为newString
split(delimiter):String//返回一个字符串数组,其中包含被分割拆分的子字符串集;

以上其中的replaceAll()、replaceFirst()和split()可以将正则表达式作为参数;

字符串与数组之间的转换

字符串可以转换为数组,反之亦然;

  1. 将字符串转化为数组——toCharArrayy()
  2. 将字符数组转化为字符串——getChars()

StringBuffer类和StringBuilder类

StringBuffer 类和StringBuilder类创建的字符串对象是可以改变的,这点区别于String类;可以给这两个创建的字符串中添加、插入、或者追加新的内容;

区别:StringBuffer类中的修改缓冲区的方法是同步的,也就是说是有一个任务被允许执行该方法;——多任务并发访问使用StringBuffer,防止缓冲区被破坏;但是在单任务之下,StringBuilder效率更高;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值