1

String类的概念

  • java.lang.String类用于描述字符串, Java程序中所有字符串字面值都可以使用该类的对象加以描述,如"abc"
  • 该类由final关键字修饰, 表示该类不能被继承
  • 从jdk1.9开始该类的底层不使用char[]来存储数据, 而是改为byte[]加上编码标记, 从而节约了一些空间
  • 该类描述的字符串内容是个常量不可更改, 因此可以被共享使用

    • String str1 = "abc" 其中"abc"这个字符串是个常量不可改变
    • str1 = "123" 将"123"字符串的地址赋值给变量str1.改变str1的指向并没有改变指向的内容

常量池的概念

由于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返回其第一次出现的位置, 若找不到返回-1int 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并且<=mX{n,m}

正则表达式相关的方法

功能介绍方法声明
判断当前正在调用的字符串是否匹配参数指定的正则表达式规则boolean matches(String regex)
功能介绍方法声明
参数regex为正则表达式, 以regex所表示的字符串为分隔符, 将字符串拆分成字符串数组String[] split(String regex)
使用参数newChar替换此字符串中出现的所有参数oldCharString replace(char oldChar, char newChar)
替换此字符串匹配给定的正则表达式的第一个子字符串String replaceFirst(String regex, String replacement)
将字符串中匹配正则表达式regex的字符串替换成replacementString replaceAll(String regex, String replacement)

chain_xx_wdm
64 声望2 粉丝

1.领养代替买卖