String类的本质是字符数组。字符串是用双引号括起来的内容,是常量,它们的值在创建之后不能更改,但是可以使用其他变量重新赋值的方式进行更改。
创建
1.直接创建
String s1=“hello world”;
2.用 new 创建
String s2=new String(“hello world”);
char[] c={‘h’,‘e’,‘l’,‘l’,‘o’};
String s3=new String©;
String s4=new String(c,1,2);//offset参数是子数组第一个字符的索引,count参数指定子数组的长度
操作方法
字符与字符串方法
方法 | 类型 | 说明 |
---|---|---|
public String(char value[]) | 构造方法 | 全部字符转化为字符串 |
public String(char value[], int offset, int count) | 构造方法 | 截取部分字符转化为字符串 |
public char charAt(int index) | 返回指定位置的字符 | |
public char[] toCharArray() | 把字符串转化为字符数组 |
字节与字符串方法
方法 | 类型 | 说明 |
---|---|---|
public String(byte[] bytes) | 构造方法 | 全部字节转化为字符串 |
public String(byte bytes[], int offset, int length) | 构造方法 | 截取部分字节转化为字符串 |
public byte[] getBytes() | 将字符串转化为字节数组 |
字符串比较
方法 | 说明 |
---|---|
public boolean equals(String string) | 区分大小写的比较是否相等 |
public boolean equalsIgnoreCase(String anotherString) | 不区分大小写的比较是否相等 |
public int compareTo(String anotherString) | 比较大小(ASCII码比较)>1,=0,<-1 |
字符串的查找、截取、替换方法
方法 | 说明 |
---|---|
public boolean contains(String s) | 判断是否存在某字符串 |
public int indexOf(String s)/lastIndexOf(String s) | 从头/尾查找字符串的位置,如果没有,返回-1 |
public boolean startsWith(String prefix)/endWith(String prefix) | 判断是否以某字符串开始/结尾 |
public String substring(int beginIndex) | 从某处开始截取 |
public String replaceFirst(String regex, String replacement)/replaceAll(String regex, String replacement) | 将第一个/全部替换 |
其他方法
方法 | 说明 |
---|---|
isEmpty | 判断是否为空 |
length | 字符串的长度 |
trim | 去掉首尾空格 |
toLowerCase/toUpperCase | 转化为小写/大写 |
valueOf | 将其它类型数据转换为字符串 |
formet | 格式化代码 |
正则表达式
StringBuffer与StringBuilder
- StringBuilder是一个可变的字符序列
- StringBuffer是线程安全的,而StringBuilder是线程非安全的。
StringBuilder
- append()方法 追加
- insert()方法 插入
- deleteCharAt() delete() 方法 删除
- reverse()方法 反转字符
- replace()方法 setCharAt()方法 替换