黑马程序员-String、StringBuffer和StringBuilder
来源:互联网 发布:淘宝开店怎么收费标准 编辑:程序博客网 时间:2024/04/20 03:06
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
- 黑马程序员-String、StringBuffer、StringBuilder
- 黑马程序员-------String,StringBuffer,StringBuilder
- 黑马程序员-------String StringBuffer StringBuilder
- 黑马程序员-String-StringBuffer-StringBuilder
- 黑马程序员----【javaSE基础】个人总结--String 、 StringBuffer 和 StringBuilder
- 【黑马程序员】String,StringBuffer和StringBuilder的区别
- 黑马程序员--String类、StringBuffer类和StringBuilder类
- 黑马程序员-stringbuffer和stringbuilder
- 黑马程序员 _Java中的String、StringBuffer、StringBuilder
- 38.黑马程序员-String、StringBuffer、StringBuilder比较
- 黑马程序员--String,StringBuffer,StringBuilder的描述
- 黑马程序员 String StringBuffer StringBuilder 的区别
- 黑马程序员----------String,StringBuffer,StringBuilder用法
- 黑马程序员-String、StringBuffer、StringBuilder类-笔记
- 黑马程序员---String字符串、StringBuffer 、StringBuilder
- 黑马程序员--------java String、StringBuffer、StringBuilder
- 大话设计模式之UML
- java虚拟机 换时区
- 小论c语言递归与递推
- java验证码识别--1
- 物联网培训预示着我们将进入智能时代
- 黑马程序员-String、StringBuffer和StringBuilder
- c#文件读写操作
- 开发者需知的10类工具
- OS
- 使用spring @Scheduled注解执行定时任务
- Android中的多线程和异步处理
- POJ 2653(线段相交)
- java中的sdk与jdk的区别
- ejb与javaBean的区别以及应用场合