四、字符串

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相同,不保证内存一定相同,不保证字面值一定相同。

 

原文地址:https://www.cnblogs.com/yl-saber/p/5996111.html