1、字符串的索引从0开始,尤其要注意最大索引是mystring.length() - 1,也就是最大索引值要比长度小1,很多时候的边缘问题就容易出错。
2、字符串常用的方法有:
char | charAt(int index) 返回指定索引处的 char 值。 |
boolean | isEmpty() 当且仅当 length() 为 0 时返回 true。 |
int | length() 返回此字符串的长度。 |
boolean | matches(String regex) 告知此字符串是否匹配给定的正则表达式。 |
boolean | equals(Object anObject) 将此字符串与指定的对象比较。 |
boolean | equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写。 |
boolean | startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 |
boolean | startsWith(String prefix, int toffset) 测试此字符串从指定索引开始的子字符串是否以指定前缀开始。 |
boolean | endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 |
boolean | contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。 |
String[] | split(String regex) 根据给定正则表达式的匹配拆分此字符串。 |
int | indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 |
int | indexOf(int ch, int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。 |
int | indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。 |
int | indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。 |
int | lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 |
int | lastIndexOf(int ch, int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。 |
int | lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。 |
int | lastIndexOf(String str, int fromIndex) 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。 |
String | replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 |
String | replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。 |
String | replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 |
String | replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。 |
String | substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。 |
String | substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。左闭右开区间[ ) |
char[] | toCharArray() 将此字符串转换为一个新的字符数组。 |
String | toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 |
String | toLowerCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。 |
String | toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 |
String | toUpperCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。 |
String | trim() 返回字符串的副本,忽略前导空白和尾部空白。 |
| valueOf(boolean b) 返回 boolean 参数的字符串表示形式。 |
| valueOf(char c) 返回 char 参数的字符串表示形式。 |
| valueOf(char[] data) 返回 char 数组参数的字符串表示形式。 |
| valueOf(char[] data, int offset, int count) 返回 char 数组参数的特定子数组的字符串表示形式。 |
| valueOf(double d) 返回 double 参数的字符串表示形式。 |
| valueOf(float f) 返回 float 参数的字符串表示形式。 |
| valueOf(int i) 返回 int 参数的字符串表示形式。 |
| valueOf(long l) 返回 long 参数的字符串表示形式。 |
| valueOf(Object obj) 返回 Object 参数的字符串表示形式。 |
3、其实其他类型数据转成字符串也可以直接 + "";
4、StringBuilder中常用的方法就是append()和toString()。在拼接时经常会遇到最后一个多余字符的问题,可以转成字符串后截取,也可以用StringBuilder的deleteCharAt(索引值)方法。 另外还有几个方法也可以了解下
StringBuilder | delete(int start, int end) 移除此序列的子字符串中的字符。 |
StringBuilder | deleteCharAt(int index) 移除此序列指定位置上的 char 。 |
StringBuilder | reverse() 将此字符序列用其反转形式取代。 |
int | capacity() 返回当前容量。 |