String:实践证明,字符串的操作是计算机程序设计中最常见的行为没有之一
java.lang.String:String类型位于java.lang包之下,继承自java.lang.Object类;
public final class String{}:java中的String类型是一个final类型,不允许被开发者继承修改。
因为String是final的所以任何一个String的变量被初始化后就成为了一个常量,即constant的值。
如果在某些需求下需要频繁修改String的值我们可以使用StringBuilder 或者StringBuffer来替代。
来看看String中常用的一些方法:
构造函数和成员方法;
其中构造函数可以分为三类来学习:
1.传入byte数组及相关信息的为一类
2.传入char数组及相关信息的为一类
3.传入String StringBuffer StringBuilder 为一类
Note: 其中相关信息包含:字符的编码格式,eg:UTF-8,数组的起始位置。
eg : String str01 = new String("HelloWorld");
StringBuffer buffer = new StringBuffer("helloworld");
String str02 = new String (buffer);
byte[] data = abc.getBytes();
String str03 = new String(data,"UTF-8");
char [] ccc="aaaa".toCharArray();
String Str04 = new String(ccc);
char data[] = {'a', 'b', 'c'};
String str = new String(data);
其中常用的一些成员方法:
charAt(int index) :获取str的char字符,从0到str.length()-1;
compareTo(String anotherString) :比较两个string相等返回0;
getBytes() :返回字节数组
getBytes(Charset charset) :返回给定编码的字节数组
isEmpty() :判断str是否为空
length() :返回字符串的长度,eg:"abcd".length()=4;
matches(String regex) : 判断该字符串是否与给定的正则表达式相符,常用于用户名的验证。
replace(char oldChar, char newChar) :替换字符。eg: "abcd".replace('a','1') -->1bcd
split(String regex) :将字符串从正则表达式匹配的地方开始切开,返回string数组。
startsWith(String prefix)
endsWith(String suffix) :这两个方法通常一起使用判断一个字符串的首尾是否符合我们的需求,常用于通信协议
substring(int beginIndex, int endIndex) :用于截取str,注意下表别越界,endIndex<=str.length();
eg: System.out.println("abcdef".substring(1)); // bcdef
System.out.println("abcdef".substring(2, 5));//cde
toCharArray() :返回一个char型数组
toUpperCase() :返回大写str
toLowerCase() : 返回小写str
toString().trim():转成string类型,并且去掉前后空白
一些静态方法:
String.valueOf(int i) :将一个基本类型转换为String值
String.format() :用指定的格式字符串和参数返回一个格式化字符串
参考:String.format()用法说明
http://blueram.iteye.com/blog/441683