一、String
String类代表字符串。Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。
字符串不变; 它们的值在创建后不能被更改。
方法大全
1. 常用方法
返回参数类型 | 方法名称 | 方法描述 |
---|
boolean | isEmpty() | 字符串是否为空 |
int | length() | 返回字符串的长度 |
String | concat(xx) | 拼接,等价于+ |
boolean | equals(Object obj) | 比较字符串是否相等,区分大小写 |
boolean | equalsIgnoreCase(Object obj) | 比较字符串是否相等,不区分大小写 |
int | compareTo(String other) | 比较字符串大小,区分大小写,按照Unicode编码值比较大小 |
int | compareToIgnoreCase(String other) | 比较字符串大小,不区分大小写 |
String | toLowerCase() | 将字符串中大写字母转为小写 |
String | toUpperCase() | 将字符串中小写字母转为大写 |
String | trim() | 去掉字符串前后空白符 |
2. 查找
返回参数类型 | 方法名称 | 方法描述 |
---|
boolean | contains | 是否包含xx |
int | indexOf(xx) | 从前往后找当前字符串中xx,即如果有返回第一次出现的下标,要是没有返回-1 |
int | lastIndexOf(xx) | 从后往前找当前字符串中xx,即如果有返回最后一次出现的下标,要是没有返回-1 |
3. 字符串截取
返回参数类型 | 方法名称 | 方法描述 |
---|
String | substring(int beginIndex) | 返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。 |
String | substring(int beginIndex, int endIndex) | 返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。 |
4. 字符相关
返回参数类型 | 方法名称 | 方法描述 |
---|
char | charAt(index) | 返回[index]位置的字符 |
char[] | toCharArray() | 将此字符串转换为一个新的字符数组返回 |
| String(char[] value) | 返回指定数组中表示该字符序列的 String。 |
| String(char[] value, int offset, int count) | 返回指定数组中表示该字符序列的 String。 |
| static String copyValueOf(char[] data) | 返回指定数组中表示该字符序列的 String |
| static String copyValueOf(char[] data, int offset, int count): | 返回指定数组中表示该字符序列的 String |
| static String valueOf(char[] data, int offset, int count) | 返回指定数组中表示该字符序列的 String |
| static String valueOf(char[] data) | 返回指定数组中表示该字符序列的 String |
5. 编码与解码
返回参数类型 | 方法名称 | 方法描述 |
---|
| byte[] getBytes() | 编码,把字符串变为字节数组,按照平台默认的字符编码进行编码 |
| byte[] getBytes(字符编码方式) | 按照指定的编码方式进行编码 |
| new String(byte[] ) 或 new String(byte[], int, int) | 解码,按照平台默认的字符编码进行解码 |
| new String(byte[],字符编码方式 ) 或 new String(byte[], int, int,字符编码方式) | 解码,按照指定的编码方式进行解码 |
6. 开头与结尾
返回参数类型 | 方法名称 | 方法描述 |
---|
boolean | startsWith(xx) | 是否以xx开头 |
boolean | endsWith(xx) | 是否以xx结尾 |
| | |
7. 替换
返回参数类型 | 方法名称 | 方法描述 |
---|
String | replace(xx,xx) | 不支持正则 |
String | replaceFirst | (正则,value):替换第一个匹配部分 |
String | repalceAll(正则, value) | 替换所有匹配部分 |
8. 拆分
返回参数类型 | 方法名称 | 方法描述 |
---|
String[] | split | (正则):按照某种规则进行拆分 |
9. 字符串格式化
String.format(String format, Object… args)
字符串格式化
原文链接
参数 | 解析 |
---|
String format | 是一个包含 格式化 说明符的字符串,该字符串指定了整体目标格式,通过格式化说明符进行占位并指定相应位置的内容格式; |
Object… args | 表示多个参数对象,其内容将依次对应format中的占位符(格式化说明符),根据指定的内容格式填充到指定位置,从而形成一个满足要求的字符串。 |
二、StringBuilder 与 StringBuffer
因为 String 对象是不可变对象,虽然可以共享常量对象,但是对于频繁字符串的修改和拼接操作,效率极低。
因此,JDK又在java.lang包提供了可变字符序列StringBuilder
和 StringBuffer
类型。
常用的API,StringBuilder、StringBuffer的API是完全一致的
StringBuffer: 老的,线程安全的(因为它的方法有synchronized修饰),效率低
StringBuilder: 线程不安全的,效率高
方法大全
返回参数类型 | 方法名称 | 方法描述 |
---|
StringBuffer | append(xx) | 拼接,追加 |
StringBuffer | insert(int index, xx) | 在[index]位置插入xx |
StringBuffer | delete(int start, int end) | 删除[start,end)之间字符 |
StringBuffer | deleteCharAt(int index) | 删除[index]位置字符 |
void | setCharAt(int index, xx) | 替换[index]位置字符 |
StringBuffer | reverse() | 反转 |
void | setLength(int newLength) | 设置当前字符序列长度为newLength |
StringBuffer | replace(int start, int end, String str) | 替换[start,end)范围的字符序列为str |
int | indexOf(String str) | 在当前字符序列中查询str的第一次出现下标 |
int | indexOf(String str, int fromIndex) | 在当前字符序列[fromIndex,最后]中查询str的第一次出现下标 |
int | lastIndexOf(String str) | 在当前字符序列中查询str的最后一次出现下标 |
int | lastIndexOf(String str, int fromIndex) | 在当前字符序列[fromIndex,最后]中查询str的最后一次出现下标 |
String | substring(int start) | 截取当前字符序列[start,最后] |
String | substring(int start, int end) | 截取当前字符序列[start,end) |
String | toString() | 返回此序列中数据的字符串表示形式 |