栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

String,StringBuffer , StringBuilder使用和区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String,StringBuffer , StringBuilder使用和区别

String
  • String是一个类,专门用来存储字符串!
  • String是不可变的字符串!
  • 如果要更改string对象中的值,每次修改都会产生全新的对象!
  • String实质是一个char类型的数组!
 String构造方法
  • String()  空对象
  • String(byte[] bytes)   --> 将byte类型数组转成字符串
  • String(byte[] bytes, String charsetName)  --> 设置编码格式,第二个参数:正确的编码格式(例如:GBK/UTF-8/GB2312)
  • String(byte[] bytes, int offset, int length) --> 从offser索引开始,截取length长度的大小组成新的字符串
  • String(char[] value) --> 将char类型的数组转成字符串
  • String(char[] value, int offset, int count) --> 在char数组中,从offset索引开始,截取count大小组成新的字符串
  • String(String original)  --> 通过字符串创建对象
  • String(StringBuffer buffer) --> 将可变字符串转成不可变字符串
  • String(StringBuilder builder) 
 常用方法:

 比较判断方法:

int compareTo(String anotherString)  根据ASCII码比较字符串anotherString和当前字符串的大小,返回结果:正数,负数,0.可查看源码仔细了解

boolean startsWith(String preflx)   判断当前字符串中是否以字符串prefl先开头

boolean endsWith(String sufflx)    判断当前字符串中是否以字符串sufflx为后缀

字符串搜索:

int indexOf(int ch)  搜索字符ch在当前字符串第一次出现的索引,没有返回-1

int indexOf(String str)    搜索字符串str在当前字符串第一次出现的索引,没有返回-1

int lastIndexOf(int ch)  搜索字符ch在当前字符串最后一次出现的索引,没有返回-1

int lastIndexOf(String str)    搜索字符串str在当前字符串最后一次出现的索引,没有返回-1

 提取字符串:

char charAt(int index)  用于从指定位置提取单个字符,索引是index ,必须为非负

String substring(int index)  用于提取从index指定的位置开始的字符串

String substring(int begin , int end) 用于提取begin和end位置之间的字符串部分,不包括end这个索引

String concat(String str) 用于连接两个字符串,并且新建一个字符串对象;

String replace(char old , char new)  将调用字符串中出现的old指定的字符全部替换为new指定的字符

replaceAll(String regex , String replacement ) 用于将调用字符串中出现的 regex全部替换为 replacement

String trim()  用于返回一个前后不含任何空格的调用字符串的副本

String[] split(String regex)  以某个字符串regex对字符串进行分割,返回数组

大小写转换

String toUpperCase()  返回当前字符串全大写的形式

String toLowerCase()  返回当前字符串全小写的形式

数据格式转化

 

StringBuffer
  1. StringBuffer类用于表示可以修改的字符串;
  2. 使用+运算符的字符串将自动创建字符串缓冲对象;
  3. 在Java中一旦创建了字符串就不能直接更改,这就是字符串String的不变性;而StringBuffer类正是针对此问题而提供的字符可变序列;StringBuffer与String是同等的类,唯一区别是可以进行更改。

以下是StringBuffer类的构造方法有4种重载方式,以下是常用的几个:

 常用方法

StringBuilder
  1. JDK1.5以后,提供了一个新的字符缓冲区:StringBuilder。
  2. 提供和StringBuffer相似的API ,非线程安全
区别
  • String:不可变的字符串! 只要字符串不需要修改使用String!
  • StringBuffer:可变字符串,多线程!保证线程安全!
  • StringBuilder:可变字符串,不能保证线程安全! 在单线程使用!
  • 修改的效率:StringBuilder  >  StringBuffer  > String
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000434.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号