从VB转过来学习java的同学,肯定会很喜欢这个。
在很多别的编程语言中,比如C,所谓字符串不如说是字符数组,而且难以自如的增大缩小,不如VB简单。
在这里,见到String这个类的时候,还以为是可变字符串,后来才意识到,对String类的实例(对象)的重新赋值实质上导致了一个新的固定String实例的诞生,只不过java让原来的实例的名字指向了这个新的实例,这样看起来还是原来的变量(实例),实际上它这个变量已经不再指向原来的区域了。
这里,隆重介绍的就是StringBuffer类。这个类就很类似我们的VB中的String数据类型。
StringBuffer类型的实例,支持插入数据,增加数据(int,boolean,char,string,double类型均可)。而且可以将内容输出为String类的实例。
还有一个StringBuilder类,和StringBuffer类几乎一样的功能,所以就不再重复介绍功能了,但是使用上有一个重要区别:
StringBuffer是线程安全的,可以多线程时候使用,不会出现多个线程同时修改变量的问题;
StringBuilder是简化了的StringBuffer,适用于单线程。在单线程的程序中,效率高于StringBuffer。
这个时候,当使用了StringBuilder,或者StringBuffer搞好了,就可以导出String类型的字符串了。如下:
StringBuffer k=new StringBuffer("love");
k.append(" if ok");
System.out.println(k.toString());
字符串的反序,可以使用StringBuffer的一个方法:Reverse
void StringVar(){
StringBuffer nBuff=new StringBuffer();
nBuff.append("abcdefghijklmn");
nBuff=nBuff.reverse();
T.O(nBuff.toString());
}
英文的大小写转换:
String newEng="hello world";
String upStr=newEng.toUpperCase();
T.O(upStr); //输出