JAVA语言StringBuffer类的使用
来源:互联网 发布:制作公司简介的软件 编辑:程序博客网 时间:2024/06/05 05:27
Java里面有3个类是关于字符操作的,分别是Character、String、StringBuffer,Character只能操作单个字符,String可以对字符串操作,但是这个类不可变,StringBuffer是可变类,也可以操作字符串。这里主要讲StringBuffer类和String的区别。
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。
在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
两者有一个最显著的区别在于,对于StringBuffer对象的每次修改都会改变对象自身,这点是和String类最大的区别。String和StringBuffer各有优势和不足,可以根据具体的使用环境,选择对应的类型进行使用。
接下来看下面运行结果是怎样的。
java_StringBuffer.java
public class java_StringBuffer {public static void main(String[] args) {structureStr();SearchStr();LengthStr();AppendStr();AddAppendStr();DeleteStr();InsertStr();GetCharAtStr();ReplaceStr();ReverseStr() ;SubStr();} /*构造方法 */ public static void structureStr(){System.out.print("structureStr()\n"); StringBuffer s0=new StringBuffer();//分配了长16字节的字符缓冲区 StringBuffer s1=new StringBuffer(512);//分配了512字节的字符缓冲区 StringBuffer s2=new StringBuffer("nothing or the best!");//s0.append("I love shenzhen!");System.out.print("s0=" + s0.toString()+"\n"+"s1=" + s1.toString()+"\n"+"s2=" + s2.toString()+"\n");} /* indexOf lastIndexOf方法查找匹配字符串 */ public static void SearchStr() { System.out.print("SearchStr()\n"); StringBuffer sb = new StringBuffer(); sb.append("Never regret.If it's good,it's wonderful.If it's bad,it's experience."); // sb.indexOf("it")返回子it在字符串中最先出现的位置,不存在的话就返回负数。 System.out.println("sb.indexOf(\"it\")=" + sb.indexOf("it")); // 给indexOf方法设置参数,指定匹配的起始位置 System.out.println("sb.indexOf(\"it\")(3)=" + sb.indexOf("it", 3)); System.out.println("sb.indexOf(\"it\")(55)=" + sb.indexOf("it", 55)); // lastIndexOf方法返回子字符串在字符串中最后出现的位置,不存在的话就返回负数。 System.out.println("sb.lastIndexOf(\"it\") = " + sb.lastIndexOf("it")); // 给lastIndexOf方法设置参数,指定匹配的结束位置 System.out.println("sb.lastIndexOf(\"good\", 1)(2) = " + sb.lastIndexOf("good", 2)); System.out.println("sb.lastIndexOf(\"good\", 1)(50) = " + sb.lastIndexOf("good", 50)); } /* length方法获取字符串的长度 */ public static void LengthStr(){System.out.print("\nLengthStr()\n");StringBuffer sb = new StringBuffer("I love java!"); System.out.print("sb=" + sb.toString()+"\nthe length of string is "+sb.length()); } /* append方法在字符串末尾添加内容 */ public static void AppendStr() { System.out.print("\nAppendStr()\n"); StringBuffer sb = new StringBuffer(); sb.append("This is a test function for append\n"); sb.append("to be stronger man\n "); System.out.print(sb.toString()); } /* charAt方法获取字符串中某个位置的字符 */ public static void GetCharAtStr() { System.out.print("\nGetCharAtStr()\n"); StringBuffer sb = new StringBuffer("I am only brave when i have to be. Being brave don't mean you go looking for trouble"); System.out.println(sb.charAt(sb.length() - 1)); } /* append方法添加各种类型的数据到字符串的尾部 */ public static void AddAppendStr() { System.out.print("\nAddAppendStr()\n"); StringBuffer sb = new StringBuffer("I love java!"); sb.append(15.20f); sb.append(39.28f); sb.append(369); System.out.println(sb.toString()); } /*delete方法删除字符串中的数据 */ public static void DeleteStr() { System.out.print("\nDeleteStr()\n"); StringBuffer sb = new StringBuffer("Don't lie to people who trust you!"); sb.delete(1, 4); sb.deleteCharAt(sb.length() - 1); System.out.println(sb.toString()); } /*insert方法向字符串中插入各种类型的数据 */ public static void InsertStr() { System.out.print("\nInsertStr()\n"); StringBuffer sb = new StringBuffer("Knowledge will give you power,but character respect!"); sb.insert(1, 'T'); System.out.println(sb.toString()+"\n"); sb.insert(5, new char[] { 'D', 'F', 'G' }); System.out.println(sb.toString()+"\n"); sb.insert(7, "THY"); System.out.println(sb.toString()+"\n"); sb.insert(9, 3); System.out.println(sb.toString()+"\n"); sb.insert(2, 2.9f); System.out.println(sb.toString()+"\n"); sb.insert(7, 3.63d); System.out.println(sb.toString()+"\n"); sb.insert(9, 5892L); System.out.println(sb.toString()+"\n"); sb.insert(10, true); System.out.println(sb.toString()+"\n"); sb.insert(15, false);System.out.println(sb.toString()+"\n"); } /*replace方法替换字符串中的某些字符 */ public static void ReplaceStr() { System.out.print("\nReplaceStr()\n"); StringBuffer sb = new StringBuffer("Don't worry too much about the ambiguous future!"); sb.replace(5, sb.length()-1, "replace_str"); System.out.println(sb.toString()); } /* reverse方法将字符串倒序*/ public static void ReverseStr() { System.out.print("\nReverseStr()\n"); StringBuffer sb = new StringBuffer("We must accept finite disappointment,but we must never lose infinite hope!\n"); System.out.println(sb.toString()); System.out.println(sb.reverse()); } /* substring(int start)方法返回从start下标开始以后的字符串 substring(int start,int end) 方法返回从start到 end-1字符串 */ public static void SubStr() { System.out.print("\nSubStr()\n"); StringBuffer sb = new StringBuffer("It doesn't matter if the guy is perfect!\n"); System.out.println(sb.substring(6,10)); System.out.println(sb.substring(6)); System.out.println(sb.toString()); } }
0 0
- JAVA语言StringBuffer类的使用
- java的StringBuffer类使用
- Java的StringBuffer类使用
- java Stringbuffer的使用
- java中StringBuffer()类的使用
- Java使用StringBuffer的好处
- StringBuffer类的使用
- StringBuffer类的使用
- StringBuffer类的使用
- StringBuffer类的使用
- StringBuffer类的使用
- JAVA的StringBuffer类
- JAVA的StringBuffer类
- JAVA的StringBuffer类
- JAVA的StringBuffer类
- JAVA的StringBuffer类
- JAVA的StringBuffer类
- java 的 StringBuffer 类
- 线段树基本操作(2)
- android的事件分发机制总结
- golang文章
- activeMq demo
- php结合redis实现高并发下的抢购、秒杀功能
- JAVA语言StringBuffer类的使用
- Integer.valueOf(String) 方法之惑
- Java开发时如何使用JSON库-七种JSON库的使用及测试
- 南阳理工acm 746 整数划分(四)(动态规划)
- 正则 字符串中指定增加字符串
- maven编译spark 源码
- 2.1 scrapy框架的学习
- ZUFE2481 神奇的字符串
- echarts图表横轴个性化设置