黑马程序员技术交流社区
标题:
String及StringBuffer
[打印本页]
作者:
梦想的小草
时间:
2016-8-29 20:48
标题:
String及StringBuffer
1.String类可以直接赋值,也可以构造方法赋值
构造方法:
String():构造一个零长度字符串
string(byte[] b):将一个byte[]数组转换为字符串
string(byte[] b,int offset,int lenght):将一个byte[]数组转换为字符串
string (char[] c):将一个char[]数组转换为字符串
String 常用方法:
int length():String类的字符数量
String subString(int beginIndex):从beginIndex位置开始截取这个字符串,一直到末尾。
String subString(int beginIndex,int endIndex):从beginIndex位置开始截取这个字符串,一直到endIndex-1处。
boolean startsWith(String s):判断此字符串是否以参数开头//区分大小写
boolean eedstsWith(String s):判断此字符串是否以参数s结尾//区分大小写
boolean contains(String s):判断此字符串中是否包含参数字符串s//区分大小写
int indexof(String s):查找参数s在此字符串中出现的位置的索引(s字符串的首字母的位置索引),如果找不到返回-1;
byte[] getBytes():将字符串转换为byte数组
char[] toCharArray():将字符串转换为字符数组
String toString():打印所有字符(重写的object方法)
boolean equals(object obj):比较字符内容是否相同 (重写的object方法)
String类与正则表达式相关的方法:
boolean matches(String regex):判断当前字符串是否匹配参数regex正则表达式
String[] split(String regex):会以正则表达式描述的规则来切割当前字符串,将结果储存为一个String数组(原字符串不变)。
String replaceAll(String regex,String new Str):将当前字符串中所有跟regex匹配的子串全部替换为Str
StringBuffer:内部已经重写toString方法
public StringBuffer():无参构造
public StringBuffer(int Capacity):指定容量字符串缓冲区对象
public StringBuffer(String str):指定字符串内容的字符串缓冲区
public StringBuffer reverse():翻转功能
不能把字符串的值直接赋给StringBuffer,
// StringBuffer sb = "hello";//不能直接将字符串赋值给StringBuffer
StringBuffer sb = new StringBuffer(s);//构造方法转
sb.append(s);//append方法
//转字符串 toString 方法,构造方法
//String str = new String(buffer);//buffer为StringBufferd的对象
}
1、String,StringBuffer,StringBuilder的区别?
String内容是不可变的,而StringBuffer,StringBuilder是可变的
StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据安全,效率高
2、StringBuffer与数组的区别?
都是一个容器,装其他的数据,
但是StringBuffer的数据最终是一个字符串数据,
而数组可以放置多种数据,但必须是同一数据类型。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2