黑马程序员-String、StringBuffer和StringBuilder
2013-07-26 10:15
381 查看
---------------------- ASP.Net+Android+IOS开发</a>、.Net培训、期待与您交流! ----------------------
String类是不可变的,一旦一个String对象被创建,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁
StringBuffer对象则代表一个字符序列可变的字符串,最终用toString方法将其转换为一个Sting对象
jdk1.5新增了一个StringBuilder类,用于替代StringBuffer,StringBuilder是不同步的,StirngBuffer线程同步
String() //创建一个包含0个字符串序列的String对象(并不是返回null)
String(byte[] bytes) //使用平台默认字符集将bytes数组解码,返回字符串
String(byte[] bytes, Charset charset) //使用指定字符集将bytes数组解码,返回字符串
String(byte[] bytes, int offset, int length) //使用平台默认字符集从byte数组的offset开始,长度为lenght的子数组解码,返回字符串
String(char[] value, int offset, int count)
String(String original) //根据字符串创建其副本
String(StringBuffer buffer) //根据StringBuffer对象来创建对应的String对象
String(StringBuilder builder)
Method:
char charAt(int index) //取字符串中指定位置的字符
int compareTo(String anotherString) //从第0个字符开始比较,所有对应字符都相同,返回0,否则返回字符差
boolean equals(Object anObject)
boolean equalsIgnoreCase(String str) //忽略大小写比较
boolean endsWith(String str) //该String对象是否以str结尾
byte[] getBytes() //将String对象转换成字节数组
void getChars(int srcBegin, int srcEnd, char[] det, int detBegin) //将字符串从srcBegin开始,srcEnd结束部分复制到dst字符数组中,其中dstBegin为目标字符数组的起始复制位置
int indexOf(int ch) //返回ch的索引
int indexOf(int ch, int fromIndex) //找出ch字符在该字符串中从fromIndex开始后第一次出现的位置
int indexOf(String str)
int indexOf(String str, int fromIndex)
int length() //返回字符串长度
String replace(char oldChar, char newChar) //将字符串中第一个oldChar替换成newChar
String[] split(String regex) //以regex分隔字符串,并放到字符串数组中,如何没有regex,返回原字符串
boolean startsWith() //该String对象是否以prefix开始
String substring(int beginIndex) //取从beginIndex位置开始到结束的子字符串
String substring(int begingIndex, int endIndex) //包头不包尾
char[] toCharArray() //将该String对象转换成char数组
String toLowerCase() //将字符串转换成小写
Java会确保每个字符串常量只有一个,例子中s0和s1中的"hello"都是字符串常量,它们在编译器就被确定了,返回true
而"he"和"llo"也都是字符串常量,s2的"hello"也是字符串常量,s0 == s2返回true
---------------------- ASP.Net+Android+IOS开发</a>、.Net培训、期待与您交流! ----------------------
String、StringBuffer和StringBuilder
字符串就是一连串的字符序列,Java提供了String和StringBuffer、StringBuilder三个类来封装字符串String类是不可变的,一旦一个String对象被创建,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁
StringBuffer对象则代表一个字符序列可变的字符串,最终用toString方法将其转换为一个Sting对象
jdk1.5新增了一个StringBuilder类,用于替代StringBuffer,StringBuilder是不同步的,StirngBuffer线程同步
String
Constructor:String() //创建一个包含0个字符串序列的String对象(并不是返回null)
String(byte[] bytes) //使用平台默认字符集将bytes数组解码,返回字符串
String(byte[] bytes, Charset charset) //使用指定字符集将bytes数组解码,返回字符串
String(byte[] bytes, int offset, int length) //使用平台默认字符集从byte数组的offset开始,长度为lenght的子数组解码,返回字符串
String(char[] value, int offset, int count)
String(String original) //根据字符串创建其副本
String(StringBuffer buffer) //根据StringBuffer对象来创建对应的String对象
String(StringBuilder builder)
Method:
char charAt(int index) //取字符串中指定位置的字符
int compareTo(String anotherString) //从第0个字符开始比较,所有对应字符都相同,返回0,否则返回字符差
boolean equals(Object anObject)
boolean equalsIgnoreCase(String str) //忽略大小写比较
boolean endsWith(String str) //该String对象是否以str结尾
byte[] getBytes() //将String对象转换成字节数组
void getChars(int srcBegin, int srcEnd, char[] det, int detBegin) //将字符串从srcBegin开始,srcEnd结束部分复制到dst字符数组中,其中dstBegin为目标字符数组的起始复制位置
int indexOf(int ch) //返回ch的索引
int indexOf(int ch, int fromIndex) //找出ch字符在该字符串中从fromIndex开始后第一次出现的位置
int indexOf(String str)
int indexOf(String str, int fromIndex)
int length() //返回字符串长度
String replace(char oldChar, char newChar) //将字符串中第一个oldChar替换成newChar
String[] split(String regex) //以regex分隔字符串,并放到字符串数组中,如何没有regex,返回原字符串
boolean startsWith() //该String对象是否以prefix开始
String substring(int beginIndex) //取从beginIndex位置开始到结束的子字符串
String substring(int begingIndex, int endIndex) //包头不包尾
char[] toCharArray() //将该String对象转换成char数组
String toLowerCase() //将字符串转换成小写
常量池(constant pool)
常量池指的是在编译期被确定、并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口中的常量,也包括字符串常量String s0 = "hello"; String s1 = "hello"; String s2 = "he"+"llo"; System.out.println(s0==s1); System.out.println(s0==s2); System.out.prinltln(new String("hello") == new String("hello"));程序最后一行,两次new出来的String对象不是同一个对象,所以返回false
Java会确保每个字符串常量只有一个,例子中s0和s1中的"hello"都是字符串常量,它们在编译器就被确定了,返回true
而"he"和"llo"也都是字符串常量,s2的"hello"也是字符串常量,s0 == s2返回true
StringBuilder
/** StringBuilder */ class StringBuilderTest { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); //追加字符串 sb.append("java"); //sb = "java" //从指定位置插入字符串 sb.insert(0, "hello "); //sb = "hello java" //在指定位置替换字符串 System.out.println(sb.replace(5, 6, ",")); //sb = "hello,java" //删除指定位置的字符串 sb.delete(5, 6); //sb = "hellojava" //反转 sb.reverse(); //sb = "avajolleh" } }
---------------------- ASP.Net+Android+IOS开发</a>、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员-String-StringBuffer-StringBuilder
- 黑马程序员--String,stringbuffer与stringbuilder的应用
- 黑马程序员---------笔记整理(java基础九-----String,StringBuffer,StringBuilder)
- 黑马程序员----【javaSE基础】个人总结--String 、 StringBuffer 和 StringBuilder
- 38.黑马程序员-String、StringBuffer、StringBuilder比较
- 黑马程序员---String字符串、StringBuffer 、StringBuilder
- 黑马程序员—String、StringBuffer、StringBuilder
- 黑马程序员——JAVA练习——String、StringBuffer和StringBuilder
- 黑马程序员——Java String、StringBuffer、StringBuilder、基本数据类型对象包装类
- 黑马程序员--05.String字符串类--04.【StringBuffer】【StringBuilder】
- 黑马程序员----论String,StringBuffer,StringBuilder,基本数据类型对象包装类
- 黑马程序员 _Java中的String、StringBuffer、StringBuilder
- 黑马程序员——String与StringBuffer、StringBuilder的应用与区别
- 黑马程序员--String,StringBuffer,StringBuilder的描述
- 黑马程序员java基础String、StringBuffer、StringBuilder笔记
- 黑马程序员_String-StringBuffer-StringBuilder
- 黑马程序员------String(概述、功能、练习、StringBuffer、StringBuilder)
- 黑马程序员 日记四:String、StringBuffer和StringBuilder的比较与总结
- 黑马程序员--------java String、StringBuffer、StringBuilder
- 【黑马程序员】String,StringBuffer和StringBuilder的区别