黑马程序员技术交流社区

标题: String, StringBuffer 基本用法 [打印本页]

作者: H_shaohui    时间: 2016-4-14 20:23
标题: String, StringBuffer 基本用法
String可以说是我们最常用的一个类, 熟练掌握它的一些基本用法是很有用的。
String是由一组字符组成的字符串, 下标由0开始。 一旦有必要改变原来的内容, 每个String方法都有返回了一个新的String对象。
Ø         char charAt(int index) 返回指定位置的字符。
Ø         int compareTo(Object o)
int compareTo(String anotherString)
与另外一个对象进行比较。

Ø         int compareToIgnoreCase(String str) 与另一个String进行比较, 不区分大小写
Ø         String concat(String str) 连接两字符串, 可以直接用+ 因为JavaString覆盖了+
Ø         static String copyValueOf(char[] data)
static String copyValueOf(char[] data, int offset, int count)
data数组转换至String

Ø         boolean endsWith(String suffix) 测试此String是否以suffix结尾。
boolean startsWith(String prefix) 测试此String是否以prefix开头。
Ø         boolean equals(Object anObject)
boolean equalsIgnoreCase(String anotherString)
比较两字符串的值。 不相等则返回false

Ø         byte[] getBytes() 根据缺省的字符编码将String转换成字节数组。
byte[] getBytes(String enc) 根据指定的编码将String转换万字节数组。
Ø         void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 拷贝字符至一数组中
Ø         int indexOf(int ch) 从字串的起始位置查找字符ch第一次出现的位置
int indexOf(int ch, int fromIndex) 从指定的fromIndex位置向后查找第一次出现ch的位置,
int indexOf(String str)
int indexOf(String str, int fromIndex)
如果不存在chstr都返回-1
Ø         int lastIndexOf(int ch) 从字串的最终位置往前查找第一次出现ch的位置
int lastIndexOf(int ch, int fromIndex) 从指定的位置往前查找第一次出现ch的位置,
int lastIndexOf(String str)
int lastIndexOf(String str, int fromIndex)
如果不存在则返回-1
Ø         int length() 该字符串的字符长度(一个全角的汉字长度为1
Ø         String replace(char oldChar, char newChar) 将字符oldChar全部替换为newChar 返回一个新的字符串。
Ø         String substring(int beginIndex) 返回从beginIndex开始的字符串子集
String substring(int beginIndex, int endIndex) 返回从beginIndexendIndex结束的字符串的子集。 其中endIndex – beginIndex等于子集的字符串长度
Ø         char[] toCharArray() 返回该字符串的内部字符数组
Ø         String toLowerCase() 转换至小写字母的字符串
String toLowerCase(Locale locale)
String toUpperCase()
转换至大写字母的字符串
String toUpperCase(Locale locale)
Ø         String toString() 覆盖了ObjecttoString方法, 返回本身。
Ø         String trim() 将字符串两边的半角空白字符去掉, 如果需要去掉全角的空白字符得要自己写。
Ø         static String valueOf(primitive p) 将其它的简单类型的值转换为一个String


StingBuffer是一个可变的字符串,它可以被更改。同时StringBufferThread safe的, 你可以放心的使用, 常用的方法如下:
Ø         StringBuffer append(param)  StringBuffer对象之后追加param(可以为所有的简单类型和Object) 返回追加后的StringBuffer 与原来的对象是同一份。
Ø         char charAt(int index) 返回指定位置index的字符。
Ø         StringBuffer delete(int start, int end) 删除指定区域start~end的字符。
Ø         StringBuffer deleteCharAt(int index) 删除指定位置index的字符。
Ø         void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) StringgetChars方法
Ø         StringBuffer insert(int offset, boolean b) 在指定位置offset插入param(为所有的简单类型与Object)
Ø         int length() Stringlength()
Ø         StringBuffer replace(int start, int end, String str) 将指定区域start~end的字符串替换为str
Ø         StringBuffer reverse() 反转字符的顺序
Ø         void setCharAt(int index, char ch) 设置字符chindex位置。
Ø         String substring(int start)
Ø         String substring(int start, int end) StringsubString
Ø         String toString() 返回一个String
大家可能已经注意到很多方法都返回了一个StringBuffer对象, 但返回的这个对象与String的方法返回的String不一样, 返回的StringBuffer对象与被操作的StringBuffer对象是同一份, String的方法返回的String则肯定是重新生成的一个String


作者: Petergee    时间: 2016-4-14 23:07
学习了,谢谢楼主
作者: 晴苑    时间: 2016-4-14 23:19
如果你这是纯手写,那就厉害了
作者: liuchenguangqnm    时间: 2016-4-14 23:20
正在寻找两者的区别,这个也可以过一遍巩固一下对方法的印象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2