字符串类
在java中同样没有字符串类型,需要借助于字符串类来完成对字符串的修改操作,常用的字符串类有:String, StringBuffer, StringBuilder
- 区别
String 的值不可修改,如果进行修改就相当于又重新开辟了一块空间,可以从下面代码中看出两次a的hashCode是不同的。
String a="aaaa";
System.out.println(a.hashCode()); //2986048
a="ccccc";
System.out.println(a.hashCode()); //94476195
System.out.print(a); //ccccc
如果字符串需要修改,可以使用 StringBuffer 与 StringBuilder 类, StringBuilder 相较于 StringBuffer 速度更快,所以一般情况下更推荐。
- String类常用方法
方法 | 作用 |
---|---|
String a=" " | 构造一个字符串 |
length() | 返回字符串长度 |
charAt(int index) | 返回指定下标的字符,注意返回值是char类型 |
indexOf(int ch) | 返回指定字符第一次出现的索引 |
substring(int beginIndex,int endIndex) | 返回指定索引间的字符串,包头不保尾,注意第2个s是小写的 |
- StringBuilder & StringBuffer 常用方法
方法 | 作用 |
---|---|
append(String s) | 末尾追加字符串或字符 |
insert(int index, String s) | 指定位置插入字符串,index后字符向后移动 |
delete(int start, int end) | 删除指定序列字符串,包头包尾 |
reverse() | 反转 |
注意:这些方法都是在对象本身进行操作的,不需重新赋值