黑马程序员_StringBuffer StringBuilder
来源:互联网 发布:seo方面的工作 编辑:程序博客网 时间:2024/06/17 17:43
------- android培训、java培训、期待与您交流! ----------
一、StringBuffer
StringBuffer字符串缓冲区:
1,字符串的组成原理就是通过该类实现的;
2,stringbuffer可以对字符串的内容进行增删;
3,StringBuffer是一个容器;
4,很多的方法与String相同;
5,StringBuffer是可变长度的;
StringBuffer的特点:
1:可以对字符串内容进行修改。
2:是一个容器。
3:是可变长度的。
4:缓冲区中可以存储任意类型的数据。
5:最终需要变成字符串。
StringBuffer的功能:
1,添加
StringBufferappend():将指定数据作为参数添加到已有数据结尾处。
StringBufferinsert(index,数据):可以将数据插入到指定index位置。
2,删除
StringBufferdelete(start,end):删除缓冲区中的数据,包含start,不包 含end。
StringBufferdeleteCharAt(index):删除指定位置的字符。
sb.delete(0,sb.length());清空缓冲区。
3,获取
charcharAt(int index)
intindexOf(String str)
intlastIndexOf(String str)
intlength()
Stringsubstring(int start, int end)
4,修改
StringBufferreplace(start,end,string);将start至end-1替换成 string
voidsetCharAt(int index, char ch) ;替换指定位置的字符
voidsetLength(len);将原字符串置为指定长度的字符串
5,反转
StringBufferreverse();
6,将缓冲区中指定数据存储到指定字符数组中
voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
7,查找,查不到返回-1
intindexOf(string);返回的是string在字符串中第一次出现的位置 int indexOf(string,int fromIndex);从指定位置开始查找字符串
int lastIndexOf(string);反向查找string在字符串中第一次出现的位置 int lastIndexOf(string,int fromIndex);反向查找指定位置的字符串
8,获取子串。
string substring(start);返回start到结尾的子串
string substring(start,end);返回start至end-1的子串
二、StringBuilder
StringBuilder字符串缓冲区:
JDK1.5版本之后出现了StringBuilder.方法和StringBuffer一样;就是有 没有锁的问题。
StringBuffer和StringBuilder的区别:
StringBuffer是线程同步,在多线程时使用,比较安全。
StringBuilder是线程不同步,在单线程时使用,效率比较高。
所以在以后开发,一般的情况使用StringBuilder
-->补充一点课外的知识就是java升级的三个因素:1.提高效率,2.简化书 写,3.提高安全性。。。。显然StringBuilder是提高效率的。
小练习::
练习一:
StringBuildersb = new StringBuilder("abcdefg");
sb.append("ak"); //abcdefgak添加
sb.insert(1,"et");//aetbcdefg插入
sb.deleteCharAt(2);//abdefg删除指定位置的字符
sb.delete(2,4);//abefg删除字符,包含头不包含尾
sb.setLength(4);//abcd指定长度
sb.setCharAt(0,'k');//kbcdefg修改
sb.replace(0,2,"hhhh");//hhhhcdefg修改
练习二:
StringBuffersb = new StringBuffer();
sb.append(12).append("haha");//方法调用链。
所谓方法调用链就是一连串的调用,返回来时对象,对象还能调用方法。
练习三:
class Test {
public staticvoid main(String[] args) {
Strings1 = "java";
Strings2 = "hello";
method_1(s1,s2);
System.out.println(s1+"...."+s2); //java....hello
StringBuilder s11 = new StringBuilder("java");
StringBuilder s22 = new StringBuilder("hello");
method_2(s11,s22);
System.out.println(s11+"-----"+s22); //javahello-----hello
}
publicstatic void method_1(String s1,String s2){
s1.replace('a','k');
s1 = s2;
}
publicstatic void method_2(StringBuilder s1,StringBuilder s2){
s1.append(s2);
s1 = s2;
}
}
------- android培训、java培训、期待与您交流! ----------
- 黑马程序员_StringBuffer StringBuilder
- 黑马程序员_StringBuffer和StringBuilder
- 黑马程序员_StringBuffer
- 黑马程序员_StringBuffer
- 黑马程序员_StringBuffer
- 黑马程序员_StringBuffer和StringBuilder和几种排序以及查询算法
- 黑马程序员_StringBuffer类与常用类
- 黑马程序员_StringBuffer&正则表达式总结
- 黑马程序员_StringBuffer类的简介
- 黑马程序员_java语言_StringBuffer,Array以及Integer分析
- 黑马程序员--String&StringBuffer&StringBuilder
- 黑马程序员------修改 StringBuilder 字符串
- 黑马程序员-String、StringBuffer、StringBuilder
- 黑马程序员_String-StringBuffer-StringBuilder
- 黑马程序员-------String,StringBuffer,StringBuilder
- 黑马程序员-------String StringBuffer StringBuilder
- 黑马程序员-stringbuffer和stringbuilder
- 黑马程序员-String-StringBuffer-StringBuilder
- Js中 关于top、clientTop、scrollTop、offsetTop的用法
- C++怎样把内容写入指定路径?
- windowsCE异常和中断服务程序初探(-)
- [unity3d]系统第三人称预设有问题
- Debian/Ubuntu 下安装windows字体
- 黑马程序员_StringBuffer StringBuilder
- windowsCE异常和中断服务程序初探(=)
- 图像增强
- Java 7 虚拟机规范
- CE下基于Zylonite硬件平台的SD卡驱动开发
- jquery easyui 学习网站
- 实现动态的文件上传操作按钮的添加和删除
- C#中的委托和事件
- Windows CE下驱动程序开发基础