String类的概念
常量池的概念
由于String
类型描述的字符串内容是常量不可改变, 因此Java虚拟机将首次出现的字符串放入常量池中.
若后续代码中出现了相同字符串内容, 则直接使用池中已有的字符串对象, 而无需申请内存及创建对象, 从而提高了性能
常用的构造方法
功能介绍 | 方法声明 |
---|
使用无参方式构造对象得到空字符序列 | String() |
使用bytes数组中下标从offset位置开始的length个字节来构造对象 | String(byte[] bytes, int offset, int length) |
使用bytes数组中的所有内容构造对象 | String(byte[] bytes) |
使用value数组中下标从offset位置开始的count个字符来构造对象 | String(char[] value, int offset, int count) |
使用value数组中的所有内容构造对象 | String(int[] value) |
根据参数指定的字符串内容来构造对象, 新创建对象为参数对象的副本 | String(String original) |
常用的成员方法
功能介绍 | 方法声明 |
---|
返回字符串本身 | String toString() |
将当前字符串内容转换为byte数组并返回 | byte[] getBytes() |
将当前字符串内容转换为char数组并返回 | char[] toCharArray() |
功能介绍 | 方法声明 |
---|
用于返回字符串指定位置的字符 | char charAt(int i) |
返回字符串字符序列的长度 | int length() |
判断字符串是否为空 | boolean isEmpty() |
功能介绍 | 方法声明 |
---|
用于比较调用对象和参数对象的大小关系 | int compareTo(String,s) |
不考虑大小写, 也就是'a'和'A'是相等的关系 | int compareToIgnoreCase(String s) |
功能介绍 | 方法声明 |
---|
用于实现字符串的拼接 | String concat(String s) |
用于判断当前字符串是否包含参数指定的内容 | boolean contains(CharSequence s) |
返回字符串的小写形式 | String toLower(String str) |
返回字符串的大写形式 | String toUpper(String str) |
返回去掉前导和后继空白的字符串 | String trim() |
判断字符串是否以参数字符串开头 | boolean startsWith(String s) |
从指定位置开始是否以参数字符串开头 | boolean startsWith(String s, int offset) |
判断字符串是否以参数字符串结尾 | boolean endsWith(String s) |
用于比较字符串内容是否相等并返回 | boolean equals(Object obj) |
获取调用对象的哈希玛值 | int hashCode() |
用于比较字符串内容是否相等并返回, 不考虑大小写, 如'A'和'a'是相等的 | boolean equalsIgnoreCase(String s) |
功能介绍 | 方法声明 |
---|
用于返回当前字符串中参数ch指定的字符第一次出现的下标 | int indexOf(char ch) |
用于从fromIndex位置开始查找ch指定的字符 | int indexOf(char ch, int fromIndex) |
在字符串中检索str返回其第一次出现的位置, 若找不到返回-1 | int indexOf(String str) |
从字符串的fromIndex位置开始检索str第一次出现的位置 | int indexOf(String str, int fromIndex) |
用于返回参数ch指定的字符最后一次出现的下标 | int lastIndexOf(char ch) |
用于从fromIndex位置开始查找ch指定字符出现的下标 | int lastIndexOf(char ch, int fromIndex) |
返回str指定字符串最后一次出现的下标 | int lastIndexOf(String str) |
用于从fromIndex位置开始反向搜索str指定字符串的第一次出现的下标 | int lastIndexOf(String str, int fromIndex) |
功能介绍 | 方法声明 |
---|
返回字符串从下标beginIndex(包括)开始到endIndex(不包括)结束的子字符串 | String substring(int beginIndex, int endIndex) |
返回字符串从下标beginIndex(包括)开始到字符串结尾的子字符串 | String substring(int beginIndex) |
正则表达式
概念
正则表达式本质就是一个"规则字符串". 可以用于对字符串数据的格式进行验证以及匹配/查找/替换等操作. 该字符串通常使用^
运行符作为开头标志,使用$
运算符作为结尾标志, 可以省略
规则
说明 | 正则表达式 |
---|
可以出现a,b,c中任意一个字符 | [abc] |
可以出现任何字符, 除了a,b,c中的任意字符 | [^abc] |
可以出现a,b,c,...,z中的任意一个字符 | [a-z] |
可以出现a-z,A-Z,0-9中任意一个字符 | [a-zA-Z0-9] |
说明 | 正则表达式 |
---|
任意一个字符(通常不包含换行符) | . |
任意一个数字字符, 相当于[0-9] | \d |
任意一个非数字字符 | \D |
空白字符,相当于[tnx0Bff] | \s |
非空白字符 | \S |
任意一个单词字符,相当于[a-zA-Z0-9] | \w |
任意一个非单词字符 | \W |
说明 | 正则表达式 |
---|
表示X可以出现一次或一次也没有,也就是0~1次 | X? |
表示X可以出现零次或多次,也就是0~n次 | X* |
表示X可以出现一次或多次,也就是1~n次 | X+ |
表示X可以出现恰好n次 | X{n} |
表示X可以出现至少n次,也就是>=n次 | X{n, } |
表示X可以出现至少n次,但是不超过m次,也就是>=n并且<=m | X{n,m} |
正则表达式相关的方法
功能介绍 | 方法声明 |
---|
判断当前正在调用的字符串是否匹配参数指定的正则表达式规则 | boolean matches(String regex) |
功能介绍 | 方法声明 |
---|
参数regex为正则表达式, 以regex所表示的字符串为分隔符, 将字符串拆分成字符串数组 | String[] split(String regex) |
使用参数newChar替换此字符串中出现的所有参数oldChar | String replace(char oldChar, char newChar) |
替换此字符串匹配给定的正则表达式的第一个子字符串 | String replaceFirst(String regex, String replacement) |
将字符串中匹配正则表达式regex的字符串替换成replacement | String replaceAll(String regex, String replacement) |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。