java入门篇--字符串操作(下)

来源:互联网 发布:网络男主播 编辑:程序博客网 时间:2024/05/21 18:37

前言:继上篇。

StringBuffer的使用--

  StringBuffer相对于String操作更为复杂一点,但是其中的好处是不言而喻的,首先他的运行效率就比String快很多(节约了内存),其次他是线程安全的。

创建StringBuffer-

  首先StringBuffer做为一个对象而言当然是new出来的,举例:

StringBuffer sb1=new StringBuffer("111");System.out.println(sb1.toString());
创建sb1对象初始值为字符串111  ,如果创建一个初始值为32个字符的StringBuffer对象呢,那么StringBuffer(32)即可,初始容量为16个字符。

追加字符串-

  String用+号就可以将字符串连接到一起,而StringBuffer则不同,使用append追加。

StringBuffer sb1=new StringBuffer(32);sb1.append("你好").append("陌生人").toString();System.out.println(sb1);

修改字符串-

public void setCharAt(int index, char ch)

公共的setCharAt方法,参数index则为该字符串的下标位置,ch则为替换的字符。

插入字符串-

sb1.append("你好").append("陌生人").toString();System.out.println(sb1);sb1.insert(2, ',');System.out.println(sb1);
在中间加上一个,号。

反序-

sb1.append("人生陌").append("好你").toString();sb1.insert(3, ',');System.out.println(sb1.reverse());
将所有字符反序排列输出。

移除某一子字符串-

sb1.append("你好").append("陌生人").toString();sb1.insert(2, ',');sb1.delete(2, 3);System.out.println(sb1);
delete(str,,end) 从某一下标开始再到某一下标结束。

StringBuilder-

  于StringBuffer的使用方法一样,比StringBuffer运行效率更高,但不保障线程安全。

相同点于不同点-


字符串分割--

StringBuffer sb1=new StringBuffer("1,2,3,4,5");String[] str=sb1.toString().split(",");
首先sb1.tostring化成String对象再split分割,返回值为String数组,按,分割,此时数组的长度为5。

一般情况下我们根据数据具体使用的情况下对字符串进行分割,只取我们想要的,str[2] 我们只要3,数组的下标也是从0-开始。

字符串大小写--

StringBuffer sb1=new StringBuffer("abcde");System.out.println(sb1.toString().toUpperCase());System.out.println(sb1.toString().toLowerCase());
Upper将小写转换成大写,Lower将大写转换为小写。

字符串中的包含和替换--

String str="abcdec";if(str.contains("c")){System.out.println("包含");}else{System.out.println(str);}if(str.replace("c", "f").contains("c")){System.out.println("包含");}else{System.out.println(str.replace("c", "f"));}
如图,如果contains则输出包含,不包含则输出原有值。

判断文件格式--

String str="123.mp3";boolean b=str.endsWith(".mp4");if(b){System.out.println("Yes");}else{System.out.println("No");}
判断str是不是mp4格式的,使用endsWith方法。

String str="123.mp3";boolean b=str.endsWith(".mp3");boolean b1=str.startsWith("123");boolean b2=str.startsWith("12");boolean b3=str.startsWith("1");boolean b4=str.startsWith("21");System.out.println(b1+"--"+b2+"--"+b3+"--"+b4);
如图,我们看到b1 b2 b3都是符合条件的, 而最后一个21是为false的。

ok,有疑问或者不足的地方多指教,一起努力,共同进步。

下篇预告:数组的介绍12.12