频道栏目
首页 > 资讯 > Java > 正文

Java字符串(String_StringBuilder_StringBuffer)

17-01-04        来源:[db:作者]  
收藏   我要投稿

String类

不可变字符序列

 String类中使用字符数组保存字符串,但是字符数组是用final修饰的。不可变

   private final char value[];

构造方法:
String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。
String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
String(byte[] bytes, Charset charset) 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。

方法
indexOf(char ch) 返回指定字符在此字符串中第一次出现处的索引
charAt(int index) 返回指定索引处的 char 值
lastIndexof() 返回指定字符在此字符串中最后一次出现处的索引。
startWith() 测试此字符串是否以指定的前缀开始。
endsWith()测试此字符串是否以指定的后缀结束
subString() 返回一个新的字符串,它是此字符串的一个子字符串。
split()根据给定正则表达式的匹配拆分此字符串。
toLowerCase()转换为小写,返回新字符串
toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写
equalsIgnoreCase()将此 String 与另一个 String 比较,不考虑大小写。

StringBuilder类

可变字符序列
线程不安全,效率高

构造函数:
StringBuilder() 构造一个其中不带字符的字符串生成器,初始容量为 16 个字符。
StringBuilder(int capacity) 构造一个其中不带字符的字符串生成器,初始容量由 capacity 参数指定。
StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。

方法:
append(char c) 追加
delete(int start, int end) 删除start ~ end-1字符
deleteCharAt(int index)
ensureCapacity(int minimumCapacity) 确保容量大于minimumCapacity
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 把srcBegin~srcEnd复制到dst的dstBegin位置处
indexOf(String str) 返回str第一次出现的位置
insert(int offset, char c) 插入
replace(int start, int end, String str) 把start~end替换为str
reverse() 逆置

StringBuffer类

线程安全,效率低,与StringBuilter基本一样,他们都继承于抽象类AbstractStringBuilder。StringBuffer中的函数大部分是synchronize同步的,所以执行时会受其他线程的影响。效率会降低。
所以,如果程序用不到多线程,那么使用StringBuilder更高效。

相关TAG标签
上一篇:一招突破粉丝瓶颈,扩大自媒体品牌的影响力!
下一篇:UML类图符号 各种关系说明以及举例
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站