---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
字符串最大的特点:一旦被初始化就不可以被改变。例如
{String S1=“abc”;
S1="kk";//这里打印S1为“kk”,但是是S1指向了kk,abc没有改变。
}
String类复写了Object类中的equals方法,该方法用于判断字符串内容是否相同。(object类中equals方法比较的是地址值)
String s1=“abc”;和String s2=new String("abc");的区别 s1在内存中有一个对象。s2在内存中有两个对象。
字符串的常见操作:
1、获取
字符串中的包含的字符数,字符串的长度。int length();注意是方法 有小括号。
根据位置获取位置上的某个字符。char charAt(int index);
根据字符获取该字符在字符串中的位置。int indexOf(int ch);ch为ASCII码值。第一次出现的位置。int indexOf(int ch,int fromIndex);从fromIndex位置开始查找。int indexOf(String str,String fromIndex);从fromIndex位置处开始获取字符串str的位置。
获取时注意角标越界异常。没有匹配对象,返回值为-1.lastIndexOf(int ch)反向索引查找,角标不变。
2、判断
字符串中是否包含一个子串。boolean contains(str);特殊之处:indexOf(str)可以索引str第一次出现的位置如果返回值为-1.则表示str不在字符串中存在。
字符串中是否有内容。boolean isEmpty();
字符串是否以指定内容开头。boolean startsWith(str);
字符串是否以指定内容结尾。boolean endsWith( str);
判断字符串的内容是否相同。boolean equals(str);
判读字符串的内容是否相同,不考虑大小写。boolea equalsIngoreCase();
3、转换
将字符数组转成字符串。构造函数 String(char[])和 String(char[],offset,count)从offset开始,取count个转换。静态函数:static String copyValueof(char[])和 static String copyValueof(char[],int offset,int count)
将字符串转成字符数组。
char[] toCharArray();
将字节数组转成字符串。
String(char[])和 String(char[],offset,count)从offset开始,取count个转换。
将字符串转成字节数组。
byte[] getBytes();
将基本数据类型转成字符串:static String valueOf(int ) static String valueOf(double )
特殊:字符串和字节数组转换过程中,是可以指定编码表的。
4、替换
String replace (olchar,newchar);如果替换的不存在,还会返回原字符串。
5、切割
String[] split(regex);
6、子串:获取字符串中的一部分。
String substring(begin);从begin开始到结尾。
String substring (begin,end);包含头 不包含尾。
7、转换、去除空格、比较。
将字符串转成大写或则小写:String toUpperCase() String toLowercase();
将字符串两端的多个空格去除。String trim();
对两个字符串进自然顺序的比较。int compareTo(string);
StringBuffer:是一个容器,字符串缓冲区,而且长度可以变化,可以操作多种数据类型,最终会变成字符串。(toString()方法)
1、存储
StringBuffer append();将指定数据添加到已有的数据后面。
StringBuffer insert(index,数据);将指定数据添加到指定位置。
2、删除
StringBuffer delete(start, end)删除缓存区中的数据,包含头,不包含尾。
StringBuffer deleteCharAt(index) 删除指定位置的数据。
3、获取
char charAt(index) int indexOf(String str) int lastIndexOf() int length() String substring(start, end)
4、修改
StringBuffer replcae(begin end str);
void setCharAt(int index,char ch);
5、反转
StringBuffer reverse(str);
6、将缓冲区中的指定数据存到指定数组中
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
StringBuilder:JDK 1.5版本之后出现。线程不同步。(StringBuffer 线程同步)可以提高效率。建议使用StringBuilder。
基本数据类型包装类:
byte-Byte short-Short int-Integer long-Long boolean-Boolean float-Float double-Double char-Character
基本数据类型对象的包装类最常见作用:基本数据类型和字符串类型之间的转换。
基本数据类型转成字符串。
基本数据类型.toString(基本数据类型值);
如:Integer.toString(34);将整数34转成字符串“34”;
字符串转成基本数据类型。
基本数据类型.parse基本数据类型();//必须传入数字格式的字符串
Integer.parseInterger("123");
十进制转成其他进制
toBinaryString();
toHexString();
toOctalString();
其他进制转成十进制
parseInt(string,radix); radix 被转换的进制。
JDK 1.5之后新特性:自动装箱
例如:Integer x=4;//自动装箱 等价于 Integer x=new Integer(4);
x=x+4;//x+2 x进行自动拆箱,变成int型,和2相加。在将运算结果装箱赋给x.
Integer m=128;
Integer n=128;//这里m==n为假因为超过了byte数值得范围,会开辟新的空间。
Integer a=127;
Integer b=127;//a==b为真,新特性里面,不会开辟新的空间。指向同一个对象。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net