1. String的创建
String s1 = "Katniss's Blog";
String s2 = new String(); //空的字符串
String s3 = new String("Katniss's Blog");
2. String的常用方法
方法 | 解释 |
---|---|
int length() | 返回字符串长度 |
int indexOf(char c) | 返回字符c出现的第一个位置 |
int indexOf(String s) | 返回字符串s出现的第一个位置 |
int lastIndexOf(char c) | 返回字符c出现的最后一个位置 |
int lastIndexOf(String s) | 返回字符串s出现的最后一个位置 |
String substring(int beginIndex) | 返回从beginIndex下标开始往后的字符串 |
String substring(int beginIndex, int endIndex) | 返回下标[beginIndex, endIndex)的字符串 |
Stringtrim() | 返回字符串前后去除空格后的字符串 |
String toLowerCase() | 返回全小写的字符串 |
String toUpperCase() | 返回全打写的字符串 |
char charAt(int index) | 返回指定下标位置的字符 |
String[] split(String regex, int limit) | 根据指定的正则表达式分割成子字符串 |
3. 字符串不变性
在Java中,String是不可变的,也就是说,一旦创建了一个String对象,它的值就不能被修改。这意味着对String对象进行拼接、替换或者其他操作时,实际上是创建了一个新的String对象,原始的String对象保持不变。
4. StringBuilder和StringBuffer
- 可变性:String不可变,StringBuffer和StringBuilder可变;
- 线程安全:String,StringBuffer线程安全;StringBuffer中加了同步锁,;StringBuilder不是线程安全的;
- 适用场景:StringBuffer有同步锁,操作慢,适用于多线程;若操作频繁、单线程,推荐使用StringBuilder。