第十一章 字符串

1. 声明字符串的方法:数组

  String s="你好";安全

  String s=new String("你好");app

2. 字符串的长度性能

  字符串.length();线程

3. 字符串的比较对象

  字符串.equals(字符串2);内存

  比较两个字符串的值是否相等,返回boolean类型的值。若是相同,则返回true;不然返回false。字符串

4. equals与==字符串处理

  equals比较的值,判断两个字符串对象的值是否相等,通常用于字符串的比较;string

  ==比较的是地址,即判断是不是同一个字符串,对象通常用于数字的比较。

 注意:

  1) 用equals()比较,肯定值放在前面,以防止空的字符串报错(空的字符串null是没法被equals所调用)。

    2) 调用length()方法返回的结果就是字符串的字符数。

  3) 进行equas比较,还用注意字符串大小,如大小写不同,也会返回false,这时就可用到equalsIgnoeCase()方法,忽略字符的大小写。

5. equalsIgnore比较时忽略大小写

  toLowerCase()转换为小写,例:name.tolowerCase();

  toUpperCase()转换为大写,例:name.toUpperCase();

6. 复杂字符串处理

  \:转义符

  拼接字符串用“+”或concat()方法,当原字符串是有效字符串时,在其后拼接新的字符串时,会建立副本:

    例:String str="你好";  str=str+"北京";

      String str=new Sting("你好");

      str.concat("北京");

  使用“+”和concat()方法,会形成内存浪费,性能比较差,但线程安全。

   注意:

   在使用“+”运算符链接字符串和int(或double)类型数据时,“+”将int(或double)类型数据自动转换成String类型。

7. 字符串的提取和查询

  index(参数):获取字符或字符串的下标。

  indexOf()方法

    该方法是在字符串内搜索某字的字符或字符串,它返回出现第一个匹配字的位置;若是没有找到匹配,则返回-1,调用是,括号里写明要搜索的字符(或字符串)的名字。

    例:

      String s="青春无悔";

      int index=s.indexOf("春”);

      执行后,返回字符“春”的位置是1.

8. lastIndexOf()方法:

  获取最后一个字符或字符串的下标

  例如:String s="青春无悔无悔青春”;

     int index=s.lastIndexOf("青春”);

     执行后,返回字符串“青春”的首字符位置,index的值为6;

9. subString(参数):截取字符串

  substring(int index);  下标从0开始数,从index开始截取到最后结束。

    例如:要提取字符串“青春无悔”中的“春无悔”。

    String s=“青春无悔”;

    String result=s.substring();

10. substring(int beginIndex,int endIndex);下标从0开始数

  从beginIndex开始,包括beginIndex位置

  到endIndex结束,不包括endIndex位置

   例如:要提取“青春无悔无悔青春”中的“无悔无悔”;

       String s="青春无悔无悔青春";

    String result=s.substring(2,6);

11. trim()方法

  去字符串先后空格

12. 字符串的拆分

  split()方法:分割字符串,返回数组。

  例如:String str="长亭外-古道边-草碧连天-留底”;

       String[] word=str.split("-");

     for(int i=0;i<word.length;i++){

      System.out.println(word[i]);

     }

13. StringBuffer类 频繁拼接字符时使用

  例:StringBuffer sbuf=new StringBuffer("你");

    sbuf.apped("好吗?”);

    sbuf.apped(1,"们”);

    String str=sbuf.toString();

    System.out.println(str);

  特色:在自身上追加字符串,不会产生副本,因此节省内存,性能高,县城安全