Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生。
类结构:
public final class
String
extends
Object
implements
Serializable,
Comparable<String>,
CharSequence
类概述:
Java程序中的全部字面值(string literals),即双引號括起的字符串,如"abc",都是作为String类的实例实现的。
String是常量,其对象一旦构造就不能再被改变。换句话说,String对象是不可变的,每个看起来会改动String值的方法,实际上都是创造了一个全新的String对象,以包括改动后的字符串内容。
String对象具有仅仅读特性,指向它的不论什么引用都不可能改变它的值,因此,也不会对其它的引用有什么影响。
构造方法:
Public Constructors |
|
String() 构造一个空字符串。 |
|
String(byte[] data) 将字节数组转换为字符串使用系统的default charset |
|
String(byte[] data, int offset, int byteCount) 将字节数组中指定字节转换成字符串。 |
|
String(byte[] data, int offset, int byteCount, String charsetName) 使用指定的字符集,将字节数组中指定字节转换成字符串。 |
|
String(byte[] data, String charsetName) 使用指定的字符集,将字节数组转换成一个字符串。 |
|
String(byte[] data, int offset, int byteCount, Charset charset) 使用指定的字符集,将字节数组中指定字节转换成字符串。 |
|
String(byte[] data, Charset charset) 使用指定的字符集,将字节数组转换成字符串。 |
|
String(char[] data) 将字符数组转换成字符串 |
|
String(char[] data, int offset, int charCount) 将字符数组中指定字符转换成字符串。 |
|
String(String toCopy) 构造一个toCopy的副本。即:拷贝一个toCopy。 |
|
String(StringBuffer stringBuffer) 将StringBuffer转换成字符串。 |
|
String(int[] codePoints, int offset, int count) 分配一个String,它包括该 |
|
String(StringBuilder stringBuilder) 将StringBuilder 转换成字符串。 |
经常使用公有方法:
Public Methods |
|
char |
charAt(int index) 取字符串中的某一个字符,当中的參数index指的是字符串中序数。字符串的序数从0開始到length()-1 |
int |
compareTo(String anotherString) 当前String对象与anotherString比較。相等返回0;不相等时,从两个字符串第0个字符開始比較,返回第一个不相等的字符差,还有一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。 |
String |
concat(String str) 将该String对象与str连接在一起。提示:通过“+”串联更方便。 |
boolean |
contentEquals(CharSequence cs) 将该String对象与CharSequence的 对象cs进行比較。相等返回true。 |
boolean |
contentEquals(StringBuffer strbuf) 将该String对象与StringBuffer 的对象 |
static String |
copyValueOf(char[] data, int start, int length) 将char数组中指定字符转换成String。 |
static String |
copyValueOf(char[] data) 将char数组转换成String。 |
boolean |
endsWith(String suffix) 推断该字符串是否以suffix结尾。是返回true。 |
boolean |
equals(Object anObject) 当anObject不为空而且与当前String对象一样,返回true;否则,返回false。 |
boolean |
equalsIgnoreCase(String string) 比較字符串与another是否一样(忽略大写和小写)。 |
byte[] |
getBytes(String charsetName) 使用指定字符集,将该String对象转换成byte数组。 |
byte[] |
getBytes(Charset charset) 使用指定字符集,将该String对象转换成byte数组。 |
byte[] |
getBytes() 将该String对象转换成byte数组,使用默认字符集。 |
void |
getChars(int start, int end, char[] buffer, int index) 将字符串复制到字符数组中。当中,start为拷贝的起始位置、end为拷贝的结束位置、字符串数值buffer为目标字符数组、index为目标字符数组的拷贝起始位置。 |
int |
hashCode() 返回当前字符的哈希表码。 |
int |
indexOf(int c) 自左向右仅仅找第一个匹配字符位置。 |
int |
indexOf(int c, int fromIndex) 从fromIndex開始自左向右找第一个匹配字符位置。 |
int |
indexOf(String subString, int fromIndex) 从fromIndex開始自左向右找第一个匹配字符串位置。 |
int |
indexOf(String string) 自左向右查找第一个匹配字符串位置。 |
boolean |
isEmpty() 假设字符串的长度为0,则返回true。 |
int |
lastIndexOf(String string) 自右向左查找第一个匹配字符串位置。 |
int |
lastIndexOf(int c, int fromIndex) 从fromIndex開始自右向左找第一个匹配字符串位置。 |
int |
lastIndexOf(int c) 自右向左查找第一个匹配字符位置。 |
int |
lastIndexOf(String subString, int start) 从fromIndex開始自右向左找第一个匹配字符串位置。 |
int |
length() 返回字符串的字符个数。 |
boolean |
regionMatches(boolean ignoreCase, int thisStart, String string, int start, int length) 用于比較一个字符串中特定区域与还有一特定区域。參数ignoreCase:是否同意在比較中忽略大写和小写。假设匹配返回 |
boolean |
regionMatches(int thisStart, String string, int start, int length) 用于比較一个字符串中特定区域与还有一特定区域。假设匹配返回 |
String |
replace(CharSequence target, CharSequence replacement) 将字符号串中的target替换成replacement。 |
String |
replace(char oldChar, char newChar) 将字符号串中的oldChar替换成newChar。 |
String |
replaceAll(String regularExpression, String replacement) 将符合 |
String |
replaceFirst(String regularExpression, String replacement) 仅仅将第一个符合 |
String[] |
split(String regularExpression) 将一个字符串依照指定的分隔符分隔,返回分隔后的字符串数组。 |
String[] |
split(String regularExpression, int limit) 将一个字符串依照指定的分隔符分隔,返回分隔后的字符串数组。当中參数:limit控制模式应用的次数,因此影响结果数组的长度。 |
boolean |
startsWith(String prefix) 该String对象是否以prefix開始。 |
boolean |
startsWith(String prefix, int start) 该String对象从toffset位置算起,是否以prefix開始。 |
CharSequence |
subSequence(int start, int end) 取从start位置開始到end位置结束的CharSequence。 |
String |
substring(int start) 取从start位置開始到结束的子字符串。 |
String |
substring(int start, int end) 取从start位置開始到end位置结束的子字符串。 |
char[] |
toCharArray() 将该String对象转换成char数组。 |
String |
toLowerCase() 将字符串转换成小写。 |
String |
toUpperCase() 将字符串转换成大写。 |
String |
trim() 移除字符串中的空格。 |
static String |
valueOf(long value) 将long |
static String |
valueOf(Object value) 将value对象转换成字符串。 |
static String |
valueOf(char[] data) 将char[]类型的对象转换成字符串。 |
static String |
valueOf(double value) 将double类型的对象转换成字符串。 |
static String |
valueOf(int value) 将int类型的对象转换成字符串。 |
static String |
valueOf(float value) float类型的对象转换成字符串。 |
static String |
valueOf(char[] data, int start, int length) 将字符数组中从start位置開始长度为length的字符转换成字符串。 |
static String |
valueOf(boolean value) 将boolean类型的对象转换成字符串。 |
static String |
valueOf(char value) 将char类型的对象转换成字符串。 |