java基础--StringBuffer类常用方法以及案例
2016-10-19 12:20
393 查看
StringBuffer类概述
我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题线程安全的可变字符序列
StringBuffer和String的区别?
简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个Java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的。
StringBuffer:StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。
这样使用StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符 到 一个已经存在的字符串后面有效率得多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使用StringBuffer类就避免了这个问题。
构造方法
public StringBuffer()public StringBuffer(int capacity)
public StringBuffer(String str)
添加功能
public StringBuffer append(String str)public StringBuffer insert(int offset,String str)
删除功能
public StringBuffer deleteCharAt(int index)public StringBuffer delete(int start,int end)
替换功能
public StringBuffer replace(int start,int end,String str)反转功能
public StringBuffer reverse()截取功能
public String substring(int start)public String substring(int start,int end)
截取功能和前面几个功能的不同
返回值类型是String类型,本身没有发生改变
StringBuffer类练习
1. String和StringBuffer的相互转换
1.1 String –> StringBuffer方式1. 通过构造方法
方式2:通过append方法
1.2 StringBuffer –> String
方式1:通过构造方法
方式2:通过toString方法
2.把数组拼接成一个字符串(用for循环)
String: 使用+=进行字符串拼接StringBuffer:使用append方法进行拼接
3.把字符串反转
String:对其进行逆序遍历StringBuffer:对其直接调用reverse方法,然后toString进行输出
4.判断一个字符串是否是对称字符串
例如”abc”不是对称字符串,”aba”、”abba”、”aaa”、”mnanm”是对称字符串String:首尾各设一枚指针,循环次数为s.length/2,然后对其元素进行比较
StringBuffer: reverse().toString().equals(s) 一步搞定!
StringBuffer类面试题
通过查看API了解一下StringBuilder类String,StringBuffer,StringBuilder的区别
StringBuffer和数组的区别
看程序写结果:
String作为参数传递
StringBuffer作为参数传递
相关文章推荐
- java基础(一)------ StringBuffer的常用方法!
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
- java基础学习日志--String、StringBuffer方法案例
- Java中的单例、StringBuffer方法、基本数据类型的包装类以及权限修饰符(基础详解)
- 黑马程序员-java基础-常用的类以及它的方法
- java中字符串处理、串联和转换的几个常用方法,以及如果需要自己编程实现的具体实施步骤。
- Java基础第十七天学习日记_Collections和Arrays的常用方法、高级for循环、可变参数、静态导入
- Java_StringBuffer常用方法例子
- java String常用操作以及比较用String与StringBuffer追加字符的执行效率【修订2】
- java基础之short案例分析以及final关键字
- 新手容易混乱的String+和StringBuffer,以及Java的方法参数传递方式。
- Java-StringBuffer类常用方法简介
- java关于StringBuffer与StringBuilder的常用方法
- Java Web基础:第十四讲 客户端验证的常用方法
- Java多线程基础篇二------常用方法
- java基础之short案例分析以及final关键字
- Java-StringBuffer类常用方法简介
- Java语言基础-常用对象API(一)String、StringBuffer
- mongodb java api常用方法的使用以及和spring的集成使用
- Java基础:String类之常用方法及使用注意事项