String类理解

来源:互联网 发布:怎么下载word2013软件 编辑:程序博客网 时间:2024/06/06 03:17

String类中存在的变量:
char value[]; /String字符串中所有的操作几乎是围绕这个字符数组来工作,没有错,字符串其实就是一串数组。/
int hash; //主要用于数组的下标
String类中存在的函数:
String开头的类函数主要是用于给value数组赋值,第一个参数书目标,包含了要赋值给value的内容,后面的第一个int参数指定了从指定位置开始,第二个int参数将指定需要转换的长度的值变换形式赋值给value,一般第三个int用于指定value数组的长度,如果存在charset参数其作用为将传入的第一个参数以charset解码并赋值给value。
String()
String(String)
String(char[])
String(char[], int, int)
String(int[], int, int)
String(byte[], int, int, String)
String(byte[], int, int, Charset)
String(byte[], String)
String(byte[], Charset)
String(byte[], int, int)
String(byte[])
String(StringBuffer)
String(StringBuilder)
String(char[], boolean)

接下来这部分的操作主要是对value中的数据进行操作,获得value的长度,判断是否为空,已经获取指定位置的value数组值。
length()
isEmpty()
charAt(int)
codePointAt(int)
codePointBefore(int)
codePointCount(int, int)

get开头的函数主要是获取value数组中的某段字符串,其中第一个int型参数表示要从value数组的哪个位置开始获取,第二个int表示要存储复制出的内容的数组的起始位置,如果参数存在数组,则表示要存的数据的地方,第三个int参数表示要复制多长。如果没有整形参数,则表示直接全部复制value数组
offsetByCodePoints(int, int)
getChars(char[], int)
getChars(int, int, char[], int)
getBytes(String)
getBytes(Charset)
getBytes()

equals函数主要对比传入的参数的内容与该对象的内容是否一致,这里有一点,contentEquals(StringBuffer)函数其实是调用了contentEquals(CharSequence),所以,其实并不是所有的函数都是要具体实现的,如果函数职能差不多,其实是可以互相调用的,只是部分参数的加减。
equals(Object)
contentEquals(StringBuffer)
contentEquals(CharSequence)
equalsIgnoreCase(String)
接下来的两个个函数是用于对比两个字符串之间的比大小,在这里强调下,equals对比的是两个字符串间的数值,二compareTo则是对比两个字符串间长度的,这里在源码以及返回类型上可以看出区别。
compareTo(String)
compareToIgnoreCase(String)
接下来的两个函数用于查找在该value数组中是否含有string这个内容。
regionMatches(int, String, int, int)
regionMatches(boolean, int, String, int, int)
下面的函数主要是用于判断value数组中int位置的是否以string中的内容开头或结尾或在父字符串中出现的第一次的位置等,这里的startsWith(String)和endsWith(String)分别调用了startsWith(String, int),这是startsWith(String)里面的函数体return startsWith(prefix, 0);其实是给了int的值一个默认值。indexOf函数也用到了该方法。
startsWith(String, int)
startsWith(String)
endsWith(String)
indexOf(int)
indexOf(int, int)
indexOfSupplementary(int, int)
lastIndexOf(int)
lastIndexOf(int, int)
lastIndexOfSupplementary(int, int)
indexOf(String)
indexOf(String, int)
indexOf(char[], int, int, String, int)
indexOf(char[], int, int, char[], int, int, int)
lastIndexOf(String)
lastIndexOf(String, int)
lastIndexOf(char[], int, int, String, int)
lastIndexOf(char[], int, int, char[], int, int, int)
下面的函数返回的基本上是value数组的某一段。
substring(int)
substring(int, int)
subSequence(int, int)
concat(String)
遍历数组,将目标字符替换成希望的字符
replace(char, char)
matches(String)
查找数组中是否有某个数组
contains(CharSequence)
replaceFirst(String, String)
replaceAll(String, String)
replace(CharSequence, CharSequence)
split类型函数将value数组以string分割并返回数组
split(String, int)
split(String)
join(CharSequence, CharSequence…)
join(CharSequence, Iterable

原创粉丝点击