Sting的api
- int length():返回字符串的长度
- char charAt(int index):返回指定索引处的字符
- boolean isEmpty():判断字符串是否为空
- String toLowerCase():将字符串中的所有字符转换为小写
- String toUpperCase():将字符串中的所有字符转换为大写
- boolean equals(Object obj):比较字符串的内容是否相同
- boolean equalsIgnoreCase(String anotherString):忽略大小写,比较字符串的内容是否相同
- String concat(String str):将指定字符串连接到此字符串的结尾,等价于用“+”
- int compareTo(String anotherString):比较两个字符串的大小
- String substring(int beginIndex):返回从beginIndex到末尾的子字符串
- String substring(int beginIndex, int endIndex):返回从beginIndex到endIndex前一位的子字符串,不包括endIndex
- boolean contains(CharSequence s):判断当前字符串中是否包含指定的字符串
- int indexOf(String str):返回指定子字符串在当前字符串中第一次出现处的索引
- int indexOf(String str, int fromIndex):返回从指定的索引后,指定子字符串在当前字符串中第一次出现处的索引
- String replace(char oldChar, char newChar):替换当前字符串中指定的子字符串
- String[] split(String regex):根据指定的符号拆分当前字符串,然后返回一个String数组
常见问题
String、StringBuffer、StringBuilder的异同
同:底层都是char数组
异:
- String对象一旦被创建,其值不能被修改;若要修改需要开辟新的空间来储存修改后的数据。StringBuffer、StringBuilder可以修改值。
- StringBuffer几乎所有方法都使用了synchronized来实现同步,线程安全,但效率比较低;StringBuilder没有实现同步,线程不安全,但效率较高。