黑马程序员_StringBuffer StringBuilder
2014-01-12 19:51
381 查看
------- 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
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培训、期待与您交流!
----------
相关文章推荐
- 黑马程序员---易错、易望、基础、重要知识点 ——API常用类1——StringBuffer/StringBuilder
- 黑马程序员 java 基础 毕向东 面向对象 String StringBuffer StringBuilder 基本数据类型包装类
- 黑马程序员_Java学习日记_JAVA中API中对象String和StringBuffer/StringBuilder
- 黑马程序员-第十二天( StringBuffer/StringBuilder)
- 黑马程序员——StringBuffer&StringBuilder&Integer
- 黑马程序员—Java基础学习笔记之String&&StringBuffer&&StringBuilder
- 黑马程序员——基础学习(九)String的实际案例及StringBuffer/StringBuilder
- 黑马程序员——java-几个常用的类(Object,Scanner,String,StringBuffer/StringBuilder)
- 黑马程序员-------String StringBuffer StringBuilder
- 黑马程序员_毕向东Java基础_集合(1)String&StringBuffer&StringBuilder&基本数据类型包装类
- String StringBuffer StringBuilder的区别
- String StringBuilder StringBuffer 三者之间的区别
- String StringBuffer StringBuilder
- String StringBuffer StringBuilder 三者的区别
- StringBuilder StringBuffer String的区别(源码分析)-java
- String and StringBuffer and StringBuilder的区别
- StringBuilder/StringBuffer的insert, append复杂度分析
- String StringBuffer StringBuilder
- StringBuilder&StringBuffer&String
- 【Java基础】String StringBuffer StringBuilder