String与StringBuffer的区别联系

 

关于java的字符串处理我们一般使用String类和StringBuffer类
那么String类和StringBuffer类的区别在什么地方呢?
与包装类相似,String类是不可以改变的,从而不能修改字符串的值,所以必须创建一个新的字符串来存放,每次都重新开辟了一个内存空间。
如果字符串较少的话我们可以使用String 类,如果文件有几百成千个字节又会怎么样呢.
相反,我们提供另一个类Stingbuffer 来对字符串进行操作。
String类常用方法:
 char charAt(int index);  返回index索引位置的字符
 int length(); 返回字符串的长度。
 String substring(int beginindex,int endindex) 返回一个新的字符串,其值是beginindex索引位置到endindex索引位置。
 String trim(); 去除字符串两边的空格,并返回一个新的字符串。
 String toLowerCase(); 将字符串中的所以大写字母转换成小写字母,已有大写字母则不需要转换,并返回一个新的字符串。
 String toUpperCase();String toLowerCase(); 将字符串中的所以小‘写字母转换成小写字母,已有小写字母则不需要转换,并返回一个新的字符串。

 boolean equals(String str);本对象中的字符串与str对象字符串进行比较(区分大小写) 返回一个boolean值
 String replace(char oldChar, char newChar);将旧的字符串(oldChar)换成新的字符串(newChar)
String类方法:
 主要方法
 append();向字符串末尾添加数据,而不像String类重新开辟空间存放新的内容
 insert();根据方法的重载传递不同的参数,在指定的位置对字符串进行插入子字符串。
例:
 String str = "how ";
  str += "are ";
 str +="you";
 如果我们打印str的最终结果是how are you 是我们所期望的,内存里面的变化:
 how
 how are
 how are you
 String类使用重载加法运算符,在字符串表中创建新的条目,上面一共创建了三条。
 当处理的字符串过多时,上面的做法就很耗费内存。
 
 StringBuffer str = new StringBuffer("how");
 //向str末尾添加字符串
 str.append("are ");
 str.append( "you");
 将需要处理字符串交给StringBuffer类处理 ,
 每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,
 就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。而不是重新声明新的对象
 这样的话就不会耗费内存!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值