疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java基础字符串详解


 

 
1. 声明字符串的方法:
 
  String s="你好";
 
  String s=new String("你好");
 
2. 字符串的长度
 
  字符串.length();
 
3. 字符串的比较
 
  字符串.equals(字符串2);
 
  比较两个字符串的值是否相等,返回boolean类型的值。如果相同,则返回true;否则返回false。
 
4. equals与==
 
  equals比较的值,判断两个字符串对象的值是否相等,一般用于字符串的比较;
 
  ==比较的是地址,即判断是否是同一个字符串,对象一般用于数字的比较。
 
 注意:
 
  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);
 
  特点:在自身上追加字符串,不会产生副本,所以节省内存,性能高,县城安全