1、创建:String s = new String("......”);
2、操作
(1)字符串连接:+
(2)长度:length()
(3)索引位置:indexOf()、lastIndexOf()、charAt()(指定索引位置)
(4)去空格:trim()
(5)替换:replace()、replaceFirst()
(6)是否相等:equals()、equalsIgnoreCase()
(7)开始与结尾:startsWith()、endsWith()
(8)大小写转换:toLowerCase()、toUpperCase()
(9)分割:split()
3、格式化字符串
(1)format()
(2)日期、时间格式化
4、正则表达式
(1)matches(): boolean matches(String regex);
(2)元字符: . 任意一个字符
/d 0~9的数字
/D 非数字
/s 空白字符
/S 非空白字符
/w 字母,除$
/W 非字母
[abc] a、b、c
[^abc] a、b、c之外的任何字符
[a-zA-Z] a~z或A~Z的任何字符
[a-d[m-p]] a~d或m~p的任何字符
[a-z&&[def]] d、e、f
[a-z&&[^bc]] a~z之间不含b、c的所有字符
[a-z&&[^m~p]] a~z之间不含m~p的所有字符
(3)限定符: ? 0或1次
* 0或多次
+ 0或多次
{n} n次
{n,} n到多次
{n,m} n到m次
5、字符串生成器StringBuilder
可变的字符序列,线程不安全。
可以动态的添加、删除和插入字符串的编辑操作。
(1)常用方法:
StringBuilder append(String str) 不仅可以追加字符串,任何类型都行
StringBuilder append(StringBuffer sb) 追加sb缓存StringBuffer的值
StringBuilder insert(int offset,String str) 将str添加到offset位置
StringBuilder delete(int start,String end) 从start位置删除到end位置
String toString() 转换为字符串
总结
String对象是不可变类型,返回类型为String的String方法每次返回的都是新的String对象,除了某些方法的某些特定条件返回自身。
String对象的三种比较方式:
==内存比较:直接对比两个引用所指向的内存值,精确简洁直接明了。
equals字符串值比较:比较两个引用所指对象字面值是否相等。
hashCode字符串数值化比较:将字符串数值化。两个引用的hashCode相同,不保证内存一定相同,不保证字面值一定相同。