String
-
构造函数
- //第一种构造:使用char数组
- //第一种构造:使用byte数组
- //第一种构造:使用一个已经存在的字符串
```
char[] sz1 = {'a','b','c'}; byte[] sz2={97,98,99}; String s1 = new String(sz1); String s2 = new String(sz2); String s3 = new String(s2);
```
- String s2 = "abc";与String s3 = new String("abc");差异
- 常用方法
- charAt:获取制定位置的字符
- String concat(String str) :连接字符串
- boolean contains(CharSequence s) :判断是否包含
- boolean endsWith(String suffix) :判断是否以xx结束
- boolean equals(Object anObject)
- boolean equalsIgnoreCase(String anotherString) :忽略大小写判断是否相等
- byte[] getBytes() //获取byte数组
- int indexOf(String str) //查找子字符串位置,不存在返回-1
- boolean isEmpty() //查看是否为空
- int lastIndexOf(int ch) //从后面查找子字符串位置。不存在返回-1
- boolean startsWith(String prefix) :判断是否以xx开始
- String substring(int beginIndex) :截取字符串,从start到最后
- String substring(int beginIndex, int endIndex) :截取字符串,从start 到end
- String trim() :去前后空格
不可变的特性
-
String是不可变的
- String jiafa = "abc"+"cde";//创建了三个字符串
- String jiafafa = "abc"+"bcd"+"cde";//创建5个字符串
-
如果涉及到字符串的反复修改时,使用StringBuffer/StringBuilder
- 二者之间的差别:
- StringBuffer是线程安全的
- StringBuilder是线程不安全的
StringBuilder&StringBuffer
- 简介:可变字符串。针对于Java的String是不可变字符串而产生的
- 构造方法,内部底层是一个char数组
- StringBuffer sb1 = new StringBuffer();//没有指定大小。默认16
- StringBuffer sb2 = new StringBuffer(10);//指定大小
- StringBuffer sb3 = new StringBuffer("abc")//使用一个字符串初始化
- 常用方法法
- capacity:获取容量,就是底层的char数组的容量
- length():获取字符串有意义容量
- append():追加
- insert:在制定为值插入字符串
- delete:删除制定位置字符,start到end
- trimToSize:让当前的char[]长度刚好等于字符串的长度
- reverse:翻转字符串
- 其他还有很多和String类似的方法
StringUtils
- Apache是一个开源组织,提供了非常多的开源的框架或工具集
- commoms.lang3,
- 下载地址:
- http://central.maven.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar
- 源码地址
- http://mirrors.shu.edu.cn/apache//commons/lang/source/commons-lang3-3.8.1-src.zip
- 添加依赖
-
常用方法
- equals:比较相等
- isBlank:是否为空,“ ”也是true
- isEmpty :“ ”是false
- isNumeric:持否为纯数字
- isNumericSpace:是否为纯数字加空格
- isAlpha:是否为纯字母
- leftPad:左边填充制定
- rightPad:右边
- containsAny:是否包含匹配的任意一个字符
- containsWhitespace:是否包含空白的字符,比如空格,回车,制表符
- countMatches:判断匹配上了几次